Vc++下如何利用Matlab工具箱进行数字信号处理
2); //如只想看显示图形,可将返回参数去掉,psd无返回参数缺省情况下会自动画图形
result=engGetArray(ep,"pxx");//取出引擎中的数据放在所指的区域中供后续处理
pPxx=mxGetPr(result);
利用 《Vc++下如何利用Matlab工具箱进行数字信号处理(第3页)》
本文链接地址:http://www.oyaya.net/fanwen/view/144478.html
result=engGetArray(ep,"fo");
pFxx=mxGetPr(result);
engEvalString(ep,"plot(fo,10*log10(pxx));");//
利用引擎画图 engEvalString(ep,"title('功率谱分析');");engEvalString(ep,"xlabel('Hz');");
engEvalString(ep,"ylable('db');");
mxDestroyArray(T); //释放内存 mxDestroyArray(mFs);mxDestroyArray(mnfft);
mxDestroyArray(result);
engEvalString(ep,"close;");
engClose(ep);}
上述程序在
Vc下编译需要将 libeng.dll和libmx.dll两个动态库利用以下的命令:lib/def:<
自己的Matlab的安装路径,下同>e:\ Matlab\extern\include\*.def /machine:ix86 /out:*.lib来生成程序所需的静态连接库libeng.lib和libmx.lib,将libeng.lib和libmx.lib所在的目录加入Vc++ project/link/object/library modules下即可。