- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VisuaI Studio和MATLAB协同编程方法研究
VisuaI Studio和MATLAB协同编程方法研究
摘要:Visual Studio(vs)与MATLAB协同编程技术充分结合了前者在程序设计方面的灵活性与后者强大的数学函数库功能,优势互补。然而,该结合在工程实践方面偏弱,不利于两者的大规模应用。针对该问题,文章基于VS与MATLAB协同编程的3种方案,通过具体实例详细阐述两者协同编程的实现步骤,分析了3种方案各自的优缺点,以期降低初学者的学习门槛。
关键词:Visual Studio;MATLAB;协同编程;DLL文件;COM组件
0引言
Visual Studio(VS)是一款面向对象的程序开发平台,它通过生成程序框架减少编程人员的工作量,通过可视化的图形开发控件设计简洁美观的软件界面,并支持多种编程语言,具有较好的程序设计灵活性和用户体验友好性,但在数学运算和函数绘图方面存在不足之处。
MATLAB作为专业的数学软件,具有高效的数学运算能力和强大的函数图形处理能力,是实验室中一款常用的专业软件。然而,由于其专业性较强、用户界面操作复杂,用户的体验友好度不高。
在程序设计中,有效结合VS良好的用户体验性、程序设计灵活性和MATLAB强大的数学函数库,可以充分发挥双方的优点。但现有的VS与MATLAB协同编程工作侧重于相关学术理论知识,在工程实践方面的应用不够深入。本文针对MATLAB引擎法、DLL文件法和COM组件法3种方案,结合实例重点描述VS与MATLAB协同编程的具体操作方法和详细步骤,最后通过对比实验过程和实验结果,阐述3种方案各自的优点和不足。
1.MATLAB与VS协同编程方法简介
1.1VS调用MATLAB引擎的方法
MATLAB引擎是一组API函数接口,用户可以使用这组接口以发送脚本命令的方式调用MATLAB中的函数。在具体实例中,C/C++程序作为前端,可以向作为后台的MATLAB引擎发送控制命令,MATLAB引擎根据控制命令的种类做出不同的响应。这种方法的实质是ActiveX控件调用MATLAB进程。
1.2VS调用DLL文件的方法
DLL文件即动态链接库文件,是应用程序的一部分。exe程序启动时,与之对应的DLL文件会被调用。MATLAB自带编译器,用户可以借助该编译器把已经编写好的*m文件编译为DLL文件,然后在C/C++程序中直接使用DLL文件中写好的MATLAB函数。
1.3VS调用COM组件的方法
COM组件,即组件对象模型,是一种通用的对象接口模型,适用于任何语言。任何语言的程序通过生成COM组件都可以被其他语言程序调用。而MATLAB的编译器可以把用户编写的*m文件编译为COM组件,供其他平台程序使用。
2.MATLAB与VS协同编程的实现
2.1实验-MATLAB引擎法
在VS2010中建立MFC工程,以向MATLAB引擎发送命令的方式实现协同编程。
2.1.1前期配置
1)系统环境变量配置。
在“我的电脑→属性→高级→环境变量→用户变量/系统变量→PATH”选项中添加路径:\bin:\bin\win64。
2)VS2010环境配置。
(1)首先建立一个基于对话框程序的MFC工程,工程名为test。
(2)设置工程目录,设置方法如下:
在“项目→test属性页→配置属性→VS2010目录→包含目录”选项中添加\extemkinclude;
在“项目→test属性页一配置属性→VS2010目录→库目录”选项中添加\extem\lib\win64/kmicrosoft;
在“项目→test属性页→配置属性→c/c++一常规一附加包含目录”选项中添加\extemklib\win64haaicrosoft和\extemkinclude;
在“项目→test属性页→配置属性→链接器常规→附加库目录”选项中添加\extem\lib和\extem\lib\win64hnicrosofl;
在“项目→test属性页→配置属性→链接器输入附加依赖项”选项中添加4个1ib文件,分别是libmx.1ib、libmat.1ib和libeng.1ib、mclmcrrt.1ib;
在“项目→test属性页→平台”选项中选择X64选项(只针对64位版本的MATLAB)。
2.1.2代码编写
(1)在testDlg.cpp文件中添加#include“engine.h”。
(2)在对话框界面上添加按钮控件,为其增加消息响应函数,代码如下所示:
2.1.3实验结果
编译运行程序,单击确定按钮会弹出窗口,其中显示了正弦函数和余弦函数的直角坐标系图形,如图1所示。
该
您可能关注的文档
- PLC故障诊断和排除研究.doc
- PLC教学模式探索和实施.doc
- PLC柔性自动化生产线系统研究和设计探究.doc
- PLC系统干扰源和可靠性分析.doc
- PLC编程及应用课程教学改革和实践分析.doc
- PLC自由口通信技术研究和应用.doc
- Plc设备应用和维护.doc
- PLC过程控制故障分析和排除.doc
- PM2.5危害和治理措施探析.doc
- PM2.5和高端人才流动关系研究.doc
- 2026秋季中国工商银行集约运营中心(佛山)校园招聘20人备考题库含答案详解(培优).docx
- 中国农业银行宁波市分行2026年度校园招聘214人备考题库附答案详解(夺分金卷).docx
- “梦工场”招商银行长沙分行2026寒假实习生招聘备考题库附答案详解(轻巧夺冠).docx
- 2026贵州省公共资源交易中心定向部分高校选调优秀毕业生专业技术职位考试备考题库完整参考答案详解.docx
- 中国建设银行建信金融资产投资有限公司2026年度校园招聘8人备考题库含答案详解(a卷).docx
- 中国农业银行宁夏回族自治区分行2026年度校园招聘146人备考题库及一套参考答案详解.docx
- 门头沟区青少年事务社工招聘1人备考题库附答案详解(模拟题).docx
- 中国建设银行运营数据中心2026年度校园招聘20人备考题库含答案详解ab卷.docx
- 中国建设银行建银工程咨询有限责任公司2026年度校园招聘9人备考题库及答案详解(有一套).docx
- 2026秋季中国工商银行重庆市分行校园招聘270人备考题库含答案详解(完整版).docx
原创力文档


文档评论(0)