![]() |
[求助]VC调用Matlab中的FFT问题
以下这段VC编写的程序中能画出正弦函数的图像,但经过FFT变换后的图像画不出
请高手指点 mxArray *T=NULL,*a=NULL,*d=NULL,*M=NULL; //利用mx函数库创建矩阵,传递参数。 T=mxCreateDoubleMatrix(1,N,mxREAL); M=mxCreateDoubleMatrix(1,N,mxREAL); memcpy((char*)mxGetPr(T),(char*)time,N*sizeof(double)); memcpy((char*)mxGetPr(M),(char*)val,N*sizeof(double)); //通过上面创建的Matlab Engine连接句柄将参数传递给Server端 engPutVariable(ep,"T",T); engPutVariable(ep,"M",M); //调用Matlab内建的函数和指令 engEvalString(ep,"figure(1); subplot(211); plot(T,M);"); engEvalString(ep,"xlabel('t'); ylabel('y');"); engEvalString(ep,"title('正弦信号y=50sin(2*pi*10t)时域波形');"); engEvalString(ep,"grid;"); [COLOR="DarkOrchid"][U]engEvalString(ep,"y=fft(M,N); mag=y;");[/U][/COLOR] engEvalString(ep,"f=linspace(0,4,N);"); engEvalString(ep,"figure(1); subplot(212); plot(f,mag);"); engEvalString(ep,"xlabel('频率(Hz)'); ylabel('幅值'); title('正弦信号经FFT变换后的 幅频谱图N=1000');"); engEvalString(ep,"grid;"); |
所有时间均为北京时间。现在的时间是 11:30。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.