www.pudn.com > matlab7.x.rar > cplxdiff.cpp


#include "mex.h" 
#include  
#include  
 
typedef std::vector > cmplxArray; 
 
void mydiff(cmplxArray& z1, cmplxArray& z2, cmplxArray& out) 
{ 
	// 清除输出向量 
	out.clear(); 
 
	// 计算两个输入向量的差 
	int i; 
	for (i=0; i(datar1[i], datai1[i])); 
		z2.push_back(std::complex(datar2[i], datai2[i])); 
	} 
 
	// 处理数据  
	mydiff(z1, z2, out); 
 
	// 输出变量的数据所对应的数组  
	outr = mxGetPr(plhs[0]); 
	outi = mxGetPi(plhs[0]); 
 
	// 把结果存入输出变量 
    for (i = 0; i < m1*n1; ++i) 
	{ 
		outr[i] = out[i].real(); 
		outi[i] = out[i].imag(); 
	} 
}