- 1、本文档共29页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
教案4__VC及与Matlab混合编程实践
* * cem@uestc.edu.cn 第4章 VC及Matlab混合编程实践 工程电磁场数值方法编程实验- VC及Matlab混合编程实践 电子科技大学 赖生建 cem@uestc.edu.cn 主要内容 VC编写简单应用程序 VC调用Matlab编程 VC、Matlab混合编写科学计算程序 新建应用程序 cem@uestc.edu.cn 新建基于MFC的应用程序 cem@uestc.edu.cn 选择基于MFC的应用程序类型 cem@uestc.edu.cn 基于MFC应用程序的类组成 cem@uestc.edu.cn 应用程序向导建立的工作区 cem@uestc.edu.cn 应用程序运行情况 cem@uestc.edu.cn 在框架视图中设置各界面控件 cem@uestc.edu.cn 设置各控件消息响应(Ctrl+W) cem@uestc.edu.cn 设置各控件成员的数据变量绑定(DDX) cem@uestc.edu.cn 设置控件成员的控制类型数据变量绑定(DDX) cem@uestc.edu.cn cem@uestc.edu.cn 设置视图初始化消息响应函数 cem@uestc.edu.cn 视图类代码中的设置说明 cem@uestc.edu.cn 程序运行界面图 cem@uestc.edu.cn 计算按钮响应函数 cem@uestc.edu.cn 运行程序输入数据 cem@uestc.edu.cn 调试程序各控件成员数据变化 cem@uestc.edu.cn 计算结果显示 cem@uestc.edu.cn VC编程实践 用VC布局各种控件,创建各控件成员函数消息响应和成员变量的数据绑定(DDX)。 练习VC控件成员数据编程,用VC编写数据更新、计算和数据结果返回。 cem@uestc.edu.cn VC与Matlab混合编程 在科学研究和工程应用中,MATLAB的应用已经比较普遍,它强大的计算、绘图、仿真功能为众多工程人员所喜爱,但在MATLAB环境下编成的M文件运行较慢,所以采用与C/FORTRAN混合编程的方式来提高程序的运行速度。 cem@uestc.edu.cn 需要MATLAB后台支持混合编程 (一)将原有的c程序写成子函数的形式,然后在其中加入固定格式的void mexFunction(int nlhs, mxArray *plhs[],int nrhs, const mxArray *prhs[])函数,然后调用MATLAB的mex指令,在mex后输入要编译的c程序名,即可生成可在MATLAB环境下直接运行的dll文件。 (二)通过外部调用的方法实现,首先将m文件的文件名加入到一段C程序中,通过MATLAB中的mex批处理文件将该C文 件生成exe文件,然后通过VC的外部调用的函数:shellexec()或winexec()实现调用。 cem@uestc.edu.cn 不需要MATLAB后台支持混合编程 MIDEVA是mathtools公司推出的一个MATLAB环境的替代产品,是一个建立在编译基础上的M语言的集成开发环境,集编辑、调试、编译和优化于一体,是该公司原来的MATCOM的扩张。在很多方面MIDEVA比MATLAB强大,它最主要特点是能够将M语言的文件转化为C语言的代码,并通过Visual C++和Borland C++将其编译成可执行程序(exe)或动态链接库(dll)。这个特点也是mathtools之所以要推出该软件的出发点 cem@uestc.edu.cn 利用Virsual matrixLIB在MFC编程 利用Virsual matrixLIB可以把科学计算及图形显示集成到MFC中,实现M程序与MFC的强强结合 Example: 1. 在VC下创建MFC AppWinzard(EXE). 2. 点击Project / Add to Project / Files,加入MATCOM的lib目录下的库文件v4500v.lib. cem@uestc.edu.cn 工程加入Matlib.h、V4500v.lib文件 cem@uestc.edu.cn 混合语言编程 cem@uestc.edu.cn 程序运行后绘制二维曲线 cem@uestc.edu.cn VC编程实践 用VC和matlab混合编程,调用Matlab绘制y=sin(x)的正弦曲线和z=cos(x)+sin(y)等位线。 cem@uestc.edu.cn * * * *
文档评论(0)