vc++6.0与matlab r2010a混合编程实例

vc++6.0与matlab r2010a混合编程实例

ID:26329702

大小:146.50 KB

页数:6页

时间:2018-11-26

vc++6.0与matlab r2010a混合编程实例_第1页
vc++6.0与matlab r2010a混合编程实例_第2页
vc++6.0与matlab r2010a混合编程实例_第3页
vc++6.0与matlab r2010a混合编程实例_第4页
vc++6.0与matlab r2010a混合编程实例_第5页
资源描述:

《vc++6.0与matlab r2010a混合编程实例》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、VC++6.0与MATLABR2010a混合编程实例VC中调用MATLAB编译生成的动态链接库方法软件:MATLAB7.10(R2010a),VC++6.0系统环境变量:在我的电脑—属性—高级—环境变量—系统变量—path中,添加D:MATLABR2007abinwin32。备注:如果在MATLAB中mcc命令出错,提示“cmd不是内部或外部命令。。。”,是因为path中system32的路径被修改了,需要把系统的变量添加进去。第一部分:对MATLAB程序进行编译,得到动态链接库1运行mbuild–setup,安装VC++6.0编译器。2编写MATLAB函

2、数,(精通MATLAB与C++混合编程设计186页的例子)m文件为:functiony=sincplot(n)x1=0.01:0.01:n*pi;y1=sin(x1)./x1;x2=-n*pi:0.01:-0.01;y2=sin(x2)./x2;y=[y2y1];plot([x2x1],y);3把m文件编译为dll文件运行mcc-Bcsharedlib:libsincplotsincplot.m,把m文件编译成动态链接库文件。其中要用到的程序为libsincplot.h,libsincplot.dll,libsincplot.lib,libsincplot.ctf

3、。并复制到工程目录下。第二部分:在VC中调用MATLAB动态链接库1、新建工程MFC单文档应用程序。启动VC,首先对VC进行配置,以便在VC中调用MATLAB动态链接库TOOLS—options—detectories—includesfiles中添加MATLAB路径D:MATLABR2010EXTERNINCLUDED:MATLABR2010EXTERNINCLUDEWIN32(貌似可以不添加)。Libraryfiles中添加D:MATLABR2010AEXTERNLIBWIN32MICROSOFT以上设置是对VC软件进行的设置,只

4、需设置一次即可。2、对新建的工程进行设置:进行项目必要的设置。VC++主界面进入project>Settings,点C/C++选项卡,Category选择Preprocessor,Additional  includedirectories下填入如下路径…MATLABR2010aexterninclude点“link”选项卡,Category选择General,在下面的Object/librarymodules那栏的最后添加libsincplot.libmclmcrrt.lib其中libsincplot.lib,是MATLAB中编译时,产生的lib文件。两个

5、库之间以及和其他库以空格隔开。然后Category选择input,Additional  librarypath下填写:….MATLABR2010aexternlibwin32microsoft把libsincplot.dll文件拷贝到VC工程debug目录下,或者windows系统目录system或者syetem32下。把libsincplot.h,libsincplot.lib拷贝到VC工程目录下,并把libsincplot.h添加到工程中。把libsincplot.ctf拷贝到VC工程的debug目录下。然后就可以在VC++中进行编程,调用MATL

6、AB编译得到的动态链接库了。实验中采用MFC建立的单文档应用程序,编程介绍如下。编程细节:1在CSinplotView的包含头文件#include"libsincplot.h"2定义要用到的变量,mxArray是MATLAB和VC的接口数据类型,红色的为增加的代码。classCSinplotView:publicCView{protected://createfromserializationonlyCSinplotView();DECLARE_DYNCREATE(CSinplotView)//Attributespublic:CSinplotDoc*GetDoc

7、ument();//Operationspublic:mxArray*pArrayIn;mxArray*pArrayOut;intisOK;intm_isInView;//Overrides//ClassWizardgeneratedvirtualfunctionoverrides//{{AFX_VIRTUAL(CSinplotView)3在构造函数中进行初始化:mclInitializeApplication,libsincplot1Initialize#include"stdafx.h"#include"sinplot.h"#include"sinplotDo

8、c.h"#

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

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

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