欢迎来到天天文库
浏览记录
ID:34630640
大小:311.52 KB
页数:5页
时间:2019-03-08
《matlab与vc+%2b%2b混合编程在系统仿真中的应用》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、万方数据第30卷第7期2007年7月重庆大学学报(自然科学版)JoumalofChongqingUniversity(NaturalScienceEdition)V01.30No.7Jul.2007文章编号:1000—582x(2007)07—0026—04MATLAB与VC++混合编程在系统仿真中的应用陶桂宝,郭少波(重庆大学机械工程学院,重庆400030)摘要:通过讨论MATLAB与VC++之间的接口方案,介绍了MATCOM与MATLAB的m文件的链接方式以及MATc0M的使用方法和技巧,以单自由度振动系统为对象,通过对有阻尼
2、状态下的振动模型的分析,对仿真算法进行了混合编程。仿真结果表明:系统仿真的执行速度得到了提高。关键词:系统仿真;MATLAB;Vc++;单自由度振动;阻尼中图分类号:TP311.1;TP391.9文献标志码:AMATLAB是美国MATHwORKS公司自20世纪80年代中期推出的数学软件,它集数值分析、矩阵运算、信号处理和图形显示于一体,是建立在向量数组和矩阵的基础上,具有简洁的人机界面、丰富的图形用户界面GuI开发功能和极高的编程效率的数学工具,受到越来越广泛的重视和应用,但是这些功能只能在它本身所提供的平台上使用,且具有代码执行
3、速度慢、安全保密性差的特点uj。VC++是Microsoft推出的可视化编程环境,它是目前综合性最高、最强大、也是最复杂的软件开发工具之一,应用极为广泛,在工程计算方面和MATLAB相比,编程就显得复杂得多呤j。把两者相结合,无疑是一种有效的编程方法,将给应用程序系统本身及其开发带来很好的改善。通过混合编程,可以大大提高代码的执行速度以及安全保密性。本文介绍Vc调用MATLAB的主要方案,并就单自由度振动系统,采用了混合编程方式,在脱离MATLAB环境条件下实现Vc++对m文件调用,从而在VC环境下实现系统振动仿真的方案¨1。1M
4、ATLAB与Vc++混合编程接口根据MATLAB是否运行,一般将MATLAB与Vc接口分为2大类:需MATLAB在后台运行的混合编程接口和可以脱离MATLAB环境运行的独立应用程序接口[4I。第1类,需MATLAB在后台运行的混合编程接口:MEx文件、engine应用程序和MAT文件。由于Vc的内存管理及类库函数比c更加灵活方便,因此,对这3种接口方式在Vc中的实现,主要基于内存管理和类库函数应用方面。第2类,可以脱离MATLAB环境运行的独立应用程序接口Mcc和MATc0M编译器。Mcc是MAT—LAB中经过优化的编译器。使用M
5、cc,用户可将MATLAB数学库、图形库和界面的MATLAB程序转化为独立于MATIAB的ExE应用程序和DLL动态链接库。MATCOM是MATHwORKS公司推出的第一个由MATLAB到c++的编译开发软件平台,其最后版本为MATcoM4.5,其集成调试编译环境为MIDEVA。通过MATcOM连接MATLAB的m文件有以下3种方法:1)经过简单设置后,由MIDEVA将m源文件转化为C/C++,然后添加到MSVC工程中。2)由MIDEVA直接生成ExE文件,然后在VC中通过shell调用。这种方法简单方便,但运行时出现一个控制台窗
6、口,而且由于VC和MATLAB之间不能交互,通用性差,仅适用于VC调用MATLAB实现图形显示的场合。3)通过VisualMATc0M工具条,使用Add—in,这种方法提供了一个MATLAB和VC直接集合的途径,而且可以快速集成m文件到Vc工程中创建独立的收稿日期:2007一03一14基金项目:重庆市自然科学基金资助项目(csTs,2006BB3015)。作者简介:陶桂宝(1967.),男,重庆大学副教授,博士,主要从事机电一体化、汽车电子、网络化制造等方面的研究,(E—mail)曲tao@cqu.edu.cn^万方数据第7期陶桂
7、宝,等:Manab与VC++混合编程在系统仿真中的应用27c/C++应用程序、C、MEx、DLL,在调试过程中可以查看矩阵变量的值,可直接修改m源文件而不是修改生成的c/c++文件。因此,本文中单自由度系统的振动仿真采用Add—in方法实现。2有阻尼单自由度自由振动系统机械振动是工程中常见的物理现象。广泛地说,各种机器设备及其零部件和基础,都可以看成是不同程度的弹性系统,机械振动就是在一定的条件下,振动体在其平衡位置附近所作的往复性的机械运动∞J。实际中的振动系统是很复杂的,为了便于分析研究和使用数学工具进行计算,需要在满足工况要
8、求的条件下,把实际的振动系统简化为力学模型。机械振动分析方法很多,对于简单的振动系统,可以直接求解其微分方程的通解。由于计算机进行数值计算非常方便,所以振动的微机仿真是一种最直接的方法。由于振动模型中尤其是多自由振动很方便用矩阵微分方程来描述,所以
此文档下载收益归作者所有