visualc_与matlab的混合编程研究new

visualc_与matlab的混合编程研究new

ID:34467933

大小:188.55 KB

页数:3页

时间:2019-03-06

visualc_与matlab的混合编程研究new_第1页
visualc_与matlab的混合编程研究new_第2页
visualc_与matlab的混合编程研究new_第3页
资源描述:

《visualc_与matlab的混合编程研究new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、2001年10月指挥技术学院学报October2001第12卷第5期JournalofInstituteofCommandandTechnologyVol.12No15VisualC++与Matlab的混合编程研究刘国庆何国胤董绪荣袁嗣杰(装备指挥技术学院研究生队)(装备指挥技术学院测量控制系)摘要:以间断连续波雷达信号处理仿真系统为背景,从不同角度分析和研究了VisualC++与工程计算语言Matlab的接口技术。为工程设计人员提供了比较全面的VisualC++与Matlab的混合编程方法,并给出了各种方法的优缺点,以供工程设计人员在实际工作中做出选择。通过二者的结合,既有效地利用

2、了Matlab强大的数值计算能力和众多的函数,大大减少程序设计的工作量,又继承了VisualC++良好的程序界面,因此不失为一种很好的程序设计方法。关键词:Matlab;混合编程;引擎;Mideva中图分类号:TP311.11文献标识码:A在科学研究和工程应用中,Matlab的应用已口及其相应的工具;其次,要求有合适的C语言经比较普遍,它具有强大的计算、绘图、仿真功能。或FORTRAN语言编译器,如果用户是工作在但在Matlab环境下编制的M文件运行速度较Windows平台上,那么用户所使用的编译器必须慢,所以一个提高运行速度的有效方法就是采用支持32位的Windows动态链接库。[

3、1]混合编程技术。Matlab与VC的混合编程可以分2)通过Matlab引擎实现为2类:一是需要Matlab后台支持的混合编程,二Matlab引擎(engine)提供了一种在用户程序是不需要Matlab支持,独立运行的混合编程。下进程中与独立的Matlab进程通讯的方法,它提供面分别进行研究。用户一组Matlab引擎函数,有C和FORTRAN两个版本。(可以通过Matlab自身的帮助文件找1需要Matlab后台支持的混合编到这些函数。)通过这些函数可以实现在Matlab程与VC之间的数据传递,从而达到两者的完美结合。下面简要介绍一下在VC应用程序中如何使这种编程方法大体又可以分成2类

4、:用Matlab引擎。1)将原有的C程序改写成子函数的形式,然调用Matlab引擎所需要的数据类型和函数后在其中加入固定格式的voidmexFunction(int原型声明头文件在engine.h和mex.h中,任何使nlhs,mxArray3plhs[],intnrhs,constmxArray用Matlab引擎函数的文件都要包含这两个文件,3prhs[])函数,然后调用Matlab的mex指令,模块定义文件分别为matlab.def和libeng.def,这在mex后输入要编译的C程序名(即mexfile2些文件可以在Matlab安装目录的externøincludename.c

5、)便可生成在Matlab环境下运行的dll文下找到。为了能够使用这些函数,必须生成相应的[1]件。其优点主要表现在:①可以充分利用已有的导入库。使用VC自带的lib.exe命令,格式如下:C(或其它高级语言)源代码,使资源得到充分利libödef:Matlab目录øexternøincludeøfile2用;②提高了数据处理的效率;③通过mex文件name.def(空格)öOUT:filename.lib用户可以直接对硬件进行编程,进一步拓展了生成导入库后,把matlab.lib和libeng.lib连Matlab的应用领域。当然,它也有自身的不足:首接到VC工程中,即在VC开发环境

6、下,选择菜先就是要求系统已安装Matlab应用程序组件接单。Project→Setting⋯→Link选项,在category下收稿日期:2001206220作者简介:刘国庆(1976-),男,硕士研究生,101416,北京.第5期刘国庆,等:VisualC++与MATLAB的混合编程研究37拉列表中选择Gerneral,在ObjectöLibraryModu2③可以发布给没有Matlab的用户使用。als文本框中添加这2个库文件。现假设该工程是但是,正是由于基于MatlabC++数学函数在Win32ConsoleApplicatian环境下生成的,其结库编写的应用程序的独立可执行性

7、,导致了它们构框图如图1所示:具有以下的缺点:①用户不能在基于MatlabC++数学函数库的应用程序中使用Matlab的函数eval()和in2put();②用户不能在基于MatlabC++数学函数库的应用程序中调用Matlab的图形句柄系统函数;③用户不能在基于MatlabC++数学函数库的应用程序中调用Matlab工具箱的函数;④用户不能在基于MatlabC++数学函数库的应用程序中访问Simulink;⑤Matlab中的一些语法在C语言和C++语言中

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

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

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