vc6.0与 matlab 接口(方法)

vc6.0与 matlab 接口(方法)

ID:20506004

大小:4.67 MB

页数:47页

时间:2018-10-12

vc6.0与 matlab 接口(方法)_第1页
vc6.0与 matlab 接口(方法)_第2页
vc6.0与 matlab 接口(方法)_第3页
vc6.0与 matlab 接口(方法)_第4页
vc6.0与 matlab 接口(方法)_第5页
资源描述:

《vc6.0与 matlab 接口(方法)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、常用数学软件选讲VC与Matlab接口编程如果在CC++语言中能用MATLAB那么简单的代码来实现该功能就可以大大减少工作量,VC和MATLAB接口就是做这个工作的。利用MATLAB的编译工具将m文件方便的转化为CC++语言、可执行程序(exe)、动态连接库文件(dll)、COM组件等等,并可直接供CC++语言调用,利用VC和MATLAB接口技术可以在VC中充分发挥MATLAB的数值计算功能,并且可以不依赖MATLAB软件运行。我们在编写程序时,可以在VC下做出很漂亮的界面,而把复杂的数值处理交给MATLAB去做(实

2、际上MATLAB也能做界面GUI(GraphicUserInterface),而且做出的界面并不比VC逊色,但是需要MATLAB软件作为后台运行,如果不依赖MATLAB软件运行的话,可以在VC中调用GUI),然后通过接口技术将MATLAB集成到VC中,这样可以大大减轻编程的负担,并减少程序编写时间。2VC与Matlab接口编程MatlabEngine方式MatlabCC++函数库(7.0后不建议使用,略)Matlab自带的MatlabCompilerMatcom技术COM组件接口方法(VisualC++6.0Matlab

3、6.5)3MatlabEngine方式MatlabEngine是指一组Matlab提供的接口函数,支持C语言,MatlabEngine采用C/S(客户机/服务器)模式,Matlab作为后台服务器,而C程序作为前台客户机,通过Windows的动态控件与服务器通信,向MatlabEngine传递命令和数据信息,从MatlabEngine接受数据信息。用户可以在前台应用程序中调用这些接口函数,实现对MatlabEngine的控制。采用这种方法几乎能利用Matlab全部功能,但是需要在机器上安装Matlab软件,而且执行效率低,因

4、此在实际应用中不采用这种方法,在软件开发中也不可行,适合个人使用或做演示用。4Matlab自带的MatlabCompilerMatlabCompiler的作用是将m文件转化成C/C++代码(也就是通常所用的mcc命令),这种源代码需要用C/C++编译器编译连接成独立应用程序,在将m文件转成独立应用程序的过程中生成的C/C++文件,原则上是可以被其它的C/C++代码调用的,编译器可以通过设置mcc命令的选项,将m文件编译成动态链接库文件、C/C++文件、可执行文件等一系列文件。到matlabR12.1为止,MatlabCom

5、piler的m程序转换成C/C++代码功能有很多限制:不能转换脚本m文件,只能转换m函数;不能使用matlab对象;不能用input或者eval操作matlab空间变量;不能动态地命名变量,然后用load或者save命令来操作;不能处理具有嵌套调用其他m文件的m文件;不能使用MATLAB内联函数;51、必须保证编译器的正确配置,因为编译器使用了CC++库函数,所以在使用前需要使用mex-setup和mbuild-setup两个命令对编译器进行配置,如果以前已经进行了配置就不需要这一步。动态链接库方式6mbuild-set

6、up782、设置头文件和库文件的路径,配置完成如图1和图293、在MATLAB打开文本编辑器(File->New->M-file)写一个简单的m函数:functiony=huatu_test()x=-10:0.1:10;y=sin(x);plot(x,y,''*'')文件保存为huatu_test.m。4、在MATLAB命令窗口用如下命令生成dll文件和调用dll所需要的文件:mcc-t-Wlibhg:dlltest-Tlink:lib-hlibmmfile.mlibhuatu_test.m生成的文件将会保存在当前目录下,

7、默认的当前目录为:MATLAB根目录work,找到dlltest.h、dlltest.lib和dlltest.dll文件,这三个文件是我们需要的。5、在VC中新建一个名为ceshi基于对话框的工程,在工程中添加一个名为"测试"的button按钮。将dlltest.h、dlltest.lib和dlltest.dll文件拷贝到当前工程目录下,并通过Project->AddToProject->Files选择拷贝到当前目录下的三个文件,将文件引入工程。106、在ceshiDlg.cpp文件中添加头文件dlltest.h#inc

8、lude"dlltest.h"打开dlltest.h文件,里面有有关函数的定义,找到其中三个函数:externmxArray*mlfHuatu_test(void);externvoiddlltestInitialize(void);externvoiddlltestTerminate(void);从函

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

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

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