matlab2012a与vs2010(c++)混合编程

matlab2012a与vs2010(c++)混合编程

ID:25703562

大小:292.74 KB

页数:17页

时间:2018-11-22

matlab2012a与vs2010(c++)混合编程_第1页
matlab2012a与vs2010(c++)混合编程_第2页
matlab2012a与vs2010(c++)混合编程_第3页
matlab2012a与vs2010(c++)混合编程_第4页
matlab2012a与vs2010(c++)混合编程_第5页
资源描述:

《matlab2012a与vs2010(c++)混合编程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Matlab2012a与VS2010(C++)混合编程经历了各种报错和崩溃,用了近1个月的时间终于把C++的程序调通了。在编程过程中,我在网上找了各种Matlab和C++混编的资料,感觉混编的资料太少,故将自己编程的过程和心得分享给大家,希望能帮到和我一样挣扎在混编领域中的同学。环境:windows8.1,Matlab2012a,VS2010需要编的C++程序要实现与Matlab一样的功能,从键盘输入数据,获得计算结果和图像。如下图:大概的过程:Matlab的m文件→dll→C++调用dll和Matlab中的engine(与图像有关,后面会详细说明)→输出计算结果和图像1.Matlab编

2、译器设置(电脑安装有VS2010)(1)mex命令设置(a)运行Matlab,在Matlab的命令窗口(CommandWindow)键入“mex-setup”命令后,按回车键,安装Matlab编译器;(b)命令窗口出现如下提示:Pleasechooseyourcompilerforbuildingexternalinterface(MEX)files:Wouldyoulikemextolocateinstalledcompilers[y]/n?此时键入“y”,按回车;(c)命令窗口出现如下提示:Pleasechooseyourcompilerforbuildingexternalinte

3、rface(MEX)files:Wouldyoulikemextolocateinstalledcompilers[y]/n?ySelectacompiler:[1]MicrosoftVisualStudio2010inG:VisualStudio2010[0]None此时键入”1”,按回车;选择MicrosoftVisualStudio2010的编译器(d)命令窗口出现如下提示:Pleaseverifyyourchoices:Compiler:MicrosoftVisualStudio2010Location:G:VisualStudio2010Arethesecorrect?([

4、y]/n):此时键入”y”,按回车;确认选择MicrosoftVisualStudio2010的编译器(2)mbuild命令设置(a)运行Matlab,在Matlab的命令窗口(CommandWindow)键入“mbuild-setup”命令后,按回车键,安装Matlab编译器;(b)命令窗口出现如下提示:PleasechooseyourcompilerforbuildingstandaloneMATLABapplications:Wouldyoulikembuildtolocateinstalledcompilers[y]/n?此时键入”y”,按回车;(c)命令窗口出现如下提示:[1]

5、MicrosoftVisualStudio2010inG:VisualStudio2010[0]None此时键入“1”,按回车;选择MicrosoftVisualStudio2010的编译器(d)命令窗口出现如下提示:Pleaseverifyyourchoices:Compiler:MicrosoftVisualStudio2010Location:G:VisualStudio2010Arethesecorrect?([y]/n):此时键入”y”,按回车,确认选择MicrosoftVisualStudio2010的编译器,编译器设置完成。2.将Matlab函数转成DLL函数(tips

6、:能封装成dll文件的m文件其内容必须是自定义函数形式)函数文件RE_1.m,内容如下:function[f0,f1,f2]=RE_1(S0,S1,S2)x=0:0.01:2*pi;r=cos(3*x)/5-(3*cos(6*x))/5+(7*cos(20*x))/10+sin(2*x)/10+(3*sin(13*x))/10+10;r_max=max(r);r_min=min(r);r1=r_max;r2=r_min;f0=r1-r2;N=128;p1=19;p2=64;c0=1;c1=-sin(2*pi*p2/N)/sin(2*pi*(p2-p1)/N);c2=sin(2*pi*p1

7、/N)/sin(2*pi*(p2-p1)/N);Sn=c0*S0+c1*S1+c2*S2;c=[1,c1,c2];m=[0,p1,p2];D=zeros(N);fori=1:Nforj=1:3ifi+m(j)<=ND(i,i+m(j))=c(j);elseD(i,mod(i+m(j),N))=c(j);endendendD;z=pinv(D);r=z*Sn;r_max=max(r);r_min=min(r);f1=r_max-r_m

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。