MATLAB与VC+%2b%2b混合编程在系统仿真中的应用.pdf
《MATLAB与VC+%2b%2b混合编程在系统仿真中的应用.pdf》由会员分享,可在线阅读,更多相关《MATLAB与VC+%2b%2b混合编程在系统仿真中的应用.pdf(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第3 0 卷第7 期2 0 0 7 年7 月重庆大学学报(自然科学版)J o u m a lo fC h o n g q i n gU n i v e r s i t y(N a t u r a lS c i e n c eE d i t i o n)V 0 1 3 0N o 7J u l 2 0 0 7文章编号:1 0 0 0 5 8 2 x(2 0 0 7)0 7 0 0 2 6 0 4M A T L A B 与V C+混合编程在系统仿真中的应用陶桂宝,郭少波(重庆大学机械工程学院,重庆4 0 0 0 3 0)摘要:通过讨论M A T L A B 与V C+之间的接口方案,介绍了M A T
2、 C O M 与M A T L A B 的m 文件的链接方式以及M A T c 0 M 的使用方法和技巧,以单自由度振动系统为对象,通过对有阻尼状态下的振动模型的分析,对仿真算法进行了混合编程。仿真结果表明:系统仿真的执行速度得到了提高。关键词:系统仿真;M A T L A B;V c+;单自由度振动;阻尼中图分类号:T P 3 1 1 1;T P 3 9 1 9文献标志码:AM A T L A B 是美国M A T H w O R K S 公司自2 0 世纪8 0 年代中期推出的数学软件,它集数值分析、矩阵运算、信号处理和图形显示于一体,是建立在向量数组和矩阵的基础上,具有简洁的人机界面、丰
3、富的图形用户界面G u I 开发功能和极高的编程效率的数学工具,受到越来越广泛的重视和应用,但是这些功能只能在它本身所提供的平台上使用,且具有代码执行速度慢、安全保密性差的特点u j。V C+是M i c r o s o f t 推出的可视化编程环境,它是目前综合性最高、最强大、也是最复杂的软件开发工具之一,应用极为广泛,在工程计算方面和M A T L A B 相比,编程就显得复杂得多呤j。把两者相结合,无疑是一种有效的编程方法,将给应用程序系统本身及其开发带来很好的改善。通过混合编程,可以大大提高代码的执行速度以及安全保密性。本文介绍V c 调用M A T L A B 的主要方案,并就单自由
4、度振动系统,采用了混合编程方式,在脱离M A T L A B 环境条件下实现V c+对m 文件调用,从而在V C 环境下实现系统振动仿真的方案1。1M A T L A B 与V c+混合编程接口根据M A T L A B 是否运行,一般将M A T L A B 与V c接口分为2 大类:需M A T L A B 在后台运行的混合编程接口和可以脱离M A T L A B 环境运行的独立应用程序接口 4 I。第1 类,需M A T L A B 在后台运行的混合编程接口:M E x 文件、e n g i n e 应用程序和M A T 文件。由于V c 的内存管理及类库函数比c 更加灵活方便,因此,对
5、这3 种接口方式在V c 中的实现,主要基于内存管理和类库函数应用方面。第2 类,可以脱离M A T L A B 环境运行的独立应用程序接口M c c 和M A T c 0 M 编译器。M c c 是M A T L A B 中经过优化的编译器。使用M c c,用户可将M A T L A B 数学库、图形库和界面的M A T L A B 程序转化为独立于M A T I A B 的E x E 应用程序和D L L 动态链接库。M A T C O M 是M A T H w O R K S 公司推出的第一个由M A T L A B 到c+的编译开发软件平台,其最后版本为M A T c o M 4 5,
6、其集成调试编译环境为M I D E V A。通过M A T c O M 连接M A T L A B 的m 文件有以下3 种方法:1)经过简单设置后,由M I D E V A 将m 源文件转化为C C+,然后添加到M S V C 工程中。2)由M I D E V A 直接生成E x E 文件,然后在V C 中通过s h e l l 调用。这种方法简单方便,但运行时出现一个控制台窗口,而且由于V C 和M A T L A B 之间不能交互,通用性差,仅适用于V C 调用M A T L A B 实现图形显示的场合。3)通过V i s u a lM A T c 0 M 工具条,使用A d d i n,
7、这种方法提供了一个M A T L A B 和V C 直接集合的途径,而且可以快速集成m 文件到V c 工程中创建独立的收稿日期:2 0 0 7 一0 3 一1 4基金项目:重庆市自然科学基金资助项目(c s T s,2 0 0 6 B B 3 0 1 5)。作者简介:陶桂宝(1 9 6 7),男,重庆大学副教授,博士,主要从事机电一体化、汽车电子、网络化制造等方面的研究,(E m a i l)曲t a o c q u e d u c n 万方数据第7 期陶桂宝,等:M a n a b 与V C+混合编程在系统仿真中的应用2 7c C+应用程序、C、M E x、D L L,在调试过程中可以查看矩
8、阵变量的值,可直接修改m 源文件而不是修改生成的c c+文件。因此,本文中单自由度系统的振动仿真采用A d d i n 方法实现。2 有阻尼单自由度自由振动系统机械振动是工程中常见的物理现象。广泛地说,各种机器设备及其零部件和基础,都可以看成是不同程度的弹性系统,机械振动就是在一定的条件下,振动体在其平衡位置附近所作的往复性的机械运动J。实际中的振动系统是很复杂的,为了便于分析研究和使用数学工具进行计算,需要在满足工况要求的条件下,把实际的振动系统简化为力学模型。机械振动分析方法很多,对于简单的振动系统,可以直接求解其微分方程的通解。由于计算机进行数值计算非常方便,所以振动的微机仿真是一种最直
9、接的方法。由于振动模型中尤其是多自由振动很方便用矩阵微分方程来描述,所以,M A A B 语言在振动仿真中体现出十分优越的特性1。图1 所示为考虑了阻尼的单自由度振动系统模型。图l 振动系统模型其运动微分方程为,版+c 正+后石=0 令去=2 n,告=:,则茹+2 n 互+:戈=o,其通解为石=e 一“(c l e 丹+c 2 e 一丹),式中c。、c:为积分常数,由振动初始条件确定。(2)(3)令旦=占,称为相对阻尼系数或阻尼率。则式(3)“可写为互=e 一“一(c e。一s 2 1+c,e 一 2 1)。(4)由此可似讨论阻尼对系统的自由振动将会产生的影响。1)当时s l 时,称为强阻尼状
10、态此时,式(4)可写为茗=c l e“石2 1 一+c 2 e”玉1 协,(8)K+(占+石j l 可)2。舸一+(一占+占2 一1)缈。2。占2 13)当s=1 时,称为临界阻尼状态由于8=旦=l,n=。,则有“c。=2 m。=2 m 告=2 五m,(9)这里c。为临界阻尼状态下的阻尼系数,称为临界阻尼系数,显然它是系统本身所具有的特性之一。由s2 未2 磊丢及c c=2 砌。,有8 詈。也就是说,相对阻尼系数(阻尼率)s 反映了系统的实际阻尼与临界阻尼的关系。在临界阻尼状态下,有戈=e 一(c1+c 2 t),(1 0)其中c。=,c:=+。显然,在这种状态下不能形成振动。3 应用3 1
11、根据式(7)、(8)、(1 0)编写如下程序f u n c t i o nv b t l(m,c,k,x 0,v 0,t f)m 为质量;c 为阻尼;k 为刚度;X 0 为初始位移;、,0 为万方数据重庆大学学报(自然科学版)第3 0 卷初始速度;t f 为仿真时问;w n 为固有频率;A 为振动幅度;p h i为初相位9 1 0 b a lw nAp h iw n=s q r t(k m);t=0:t 1 0 0 0:t f:i fz 1A=s q n(、,0+z 术w n 丰X 0)“2+(】c o=I:w d)“2)w d 乞);p h i=a t a n 2(x 0 木w d,z 木w
12、 n 木x 0);x=A 术e x p(一z 半w n 木t)木s i n(w d 术t+p h i);e l s ei fz=la l=x 0:a 2=v 0+w n 木x 0:x=(a 1+a 2 术t)木e x p(一w n 木t);e l s ea 1=(一v 0+(一z+s q r t(z 2 1)半w n 木x 0):l:w n:l:x o)2 w n s q r t(z 2 1);a 2=(v 0+(z+s q n(z 6 2 1)水w n 木)e 0)2 w n s q r t(z 2 1);x=e x p(一z 木w n;l:t):l c(a 1 木e x p(w n 术s
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB VC 混合 编程 系统 仿真 中的 应用
限制150内