vc++与matlab接口编程方法与实现

vc++与matlab接口编程方法与实现

ID:25305648

大小:53.00 KB

页数:7页

时间:2018-11-19

vc++与matlab接口编程方法与实现_第1页
vc++与matlab接口编程方法与实现_第2页
vc++与matlab接口编程方法与实现_第3页
vc++与matlab接口编程方法与实现_第4页
vc++与matlab接口编程方法与实现_第5页
资源描述:

《vc++与matlab接口编程方法与实现》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、VC++与MATLAB接口编程方法与实现摘要本文简介了VC++和MATLAB特点,探讨了MATLAB与VC++接口编程的三种方法,并详细论述了MCC和组件接口编程的方法和实现过程。研究表明:采用VC++和MATLAB接口编程方法降低了编程难度,较好地发挥了两者各自的优势。关键词MATLAB;VC++;MCC;;接口编程MATLAB是美国MathATLAB是一种解释性语言,运行效率低,不适合作为通用的编程平台。VC++是Microsoft公司推出的一个基于icrosoftMSVC++60添加进去。

2、再次在“Shoatlab7.0安装目录>ExternInclude。(2)设置编译连接选项。在VC++环境菜单栏中选择Project->setting,然后选择link选项卡,在object/librarymodules栏中添加mclmcrrt.liblibtest.lib;选择General选项卡,在MicrosoftFoundationClasses栏中选择UseMFCinaSharedLibrary。2.2 实例演示完成MATLAB和VC++的接口设置以后,就可以实现MATL

3、AB和VC++的接口编程,具体步骤如下:1)编写M函数文件“mypascal.m”functionm=mypascal(n)m=pascal(n);m=m';示例M函数文件的作用是生成一个n阶的帕斯卡矩阵并返回,Pascal矩阵特点:第一行和第一列的元素均为1,其他位置的元素是前方的元素和上方的元素之和。需要注意的是:由于MATLAB中矩阵存储方式是以矩阵的列为先,也就是数据从第一列开始逐列存储的,而C/C++中矩阵则是以第一行开始逐渐存储的,因此在函数的最后一行对返回矩阵取转置运算,等效于使得计

4、算得到的矩阵数据以行模式存储。2)编译M文件在MATLAB命令行输入mcc-Bcsharedlib:libtestmypascal.m-v命令(或mcc-essageBox("不能初始化程序!");exit(1);}if(!libtestInitialize()){AfxMessageBox("不能初始化连接库!");exit(1);}returnTRUE;//returnTRUEunlessyousetthefocustoacontrol}②在voidCTestDlg::OnCreatebutt

5、om()函数中添加以下代码,实现对mypascal.m的调用,并将计算结果显示在对话框界面中。voidCTestDlg::OnCreatebuttom(){//TODO:AddyourcontrolnotificationhandlercodehereUpdateData(TRUE);doubledata;data=double(m_size);mxArray*size;//输入参数mxArray*out=NULL;//输出参数//创建mxArray数据对象,双精度标量size=mxCreateD

6、oubleScalar(data);//内存复制赋值memcpy(mxGetPr(size),data,1*sizeof(double));mlfMypascal(1,out,size);//函数调用//结果数据显示CStringstrtext;inti,j;//清除已显示的数据m_List.DeleteAllItems();intncolumn=m_List.GetHeaderCtrl()->GetItemCount();for(i=0;i<ncolumn;i++)m_List.De

7、leteColumn(0);//设置标题栏m_List.InsertColumn(0,"");//附空值m_List.SetColumnCR}在VC++中编译、运行结果如图2所示,与在MATLAB中运行M文件的结果一样。图26)独立应用程序的发布发布独立的应用程序时,需要拷贝以下几个文件到目标机器上:MCRInstaller.exe,这个文件位于<matlab7.0安装目录>tool-boxpilerdeployatlabbuilder界面。点击刚才创建的工程,单击Addfil

8、es按钮,将M文件添加到新建的组件类中。然后点击Build->Object编译当前工程的组件,这个步骤不仅编译了组件,同时也在计算机上注册了该组件,它可以像其他组件一样在VC++中使用。编译完成以后在用户设置的项目目录下将产生两个子文件夹src和distrib,src里包含组件的源代码,distrib里包含供用户最终发布使用的组件。3)打包组件及MCR编译结束后产生的组件只能在当前计算机上使用,为了能够把它发布到其他计算机上使用,还需要其他一些支持文件。另外,组件不同于普通的

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

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

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