欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    MATLAB与VC+%2b%2b混合编程在系统仿真中的应用.pdf

    • 资源ID:70010812       资源大小:311.52KB        全文页数:5页
    • 资源格式: PDF        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    MATLAB与VC+%2b%2b混合编程在系统仿真中的应用.pdf

    第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 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 年代中期推出的数学软件,它集数值分析、矩阵运算、信号处理和图形显示于一体,是建立在向量数组和矩阵的基础上,具有简洁的人机界面、丰富的图形用户界面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 的主要方案,并就单自由度振动系统,采用了混合编程方式,在脱离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 更加灵活方便,因此,对这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,其集成调试编译环境为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,这种方法提供了一个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,在调试过程中可以查看矩阵变量的值,可直接修改m 源文件而不是修改生成的c c+文件。因此,本文中单自由度系统的振动仿真采用A d d i n 方法实现。2 有阻尼单自由度自由振动系统机械振动是工程中常见的物理现象。广泛地说,各种机器设备及其零部件和基础,都可以看成是不同程度的弹性系统,机械振动就是在一定的条件下,振动体在其平衡位置附近所作的往复性的机械运动J。实际中的振动系统是很复杂的,为了便于分析研究和使用数学工具进行计算,需要在满足工况要求的条件下,把实际的振动系统简化为力学模型。机械振动分析方法很多,对于简单的振动系统,可以直接求解其微分方程的通解。由于计算机进行数值计算非常方便,所以振动的微机仿真是一种最直接的方法。由于振动模型中尤其是多自由振动很方便用矩阵微分方程来描述,所以,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 时,称为强阻尼状态此时,式(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 根据式(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 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 q r t(z“2 1),I ct)+a 2 爿ce x p(w n:I cs q r t(z 2 1)水t);e n de n dp l o t(t,x),g r i d;】d a b e l(时间(s);y l a b e l(7 位移);t i t l e(7 位移相对时间的关系);3 2 创建V c 工程“v i b r a t i o n”运行V i s u a lc+并创建v i b r a t i o n 工程,选取M F cA p p w i z a r d(e x e)。在l o c a t i o n 编辑框中输入欲创建过程的保存路径,在P r o j e c tn a m e 编辑框中输入工程名“v i b r a t i o n”,注意要选取“D i a l o gb a s e d”。3 3 转换m 文件“v b t l m”运行s u a lC+,改变文件类型为A d d i 1 1 s(d 1 1),选定M A T C o 1 4 5 b i n M v c i d e d l l,确定。在V i s u a lC+的开发环境中可以看到s u a lM A r I O M 工具条,单击s u a lM 舡o M 工具条上的m+图标,选择保存过的M A l f I A B 文件v b t l m 进行转换。此时在F i l e e w 标签中多了m f i l e s、C+f i l e sc r e a t e df r o mm f i l e s、M 删x 和E x t e m a lD e p e n d e n c i e s 等文件夹。在相应的文件夹下增加了v b t l m、v b t l h、v b t l c p p、v 4 5 0 l v 1 i b 和-z 训i b h 等文件,这表明m 文件转化成功。在“v h t l h”文件中添加头文件“啪t l i b h,。3 4 创建如图2 所示的对话框界面。并按表1 设置各控件属性。表l 控件属性图2 对话框界面1)添加头文件i n c l u d e”v b t l h”i n c l u d e”m a i b h”2)在v i b r a t i o n D l g c p p 中添加如下声明e x t e mM mw n;e x t e mM mA;e x t e mM mp h i;3)为I D c B u l T r O N c o m 添加响应代码v o i dC T e s t 4 D l g:0 n B U T T O N c o m()7 r 0 D 0:A d dy o u rc o n t r 0 1n o t i f i c a t i o nh a n d l e rc o d eh e r ed o u b l ex l,)【2,)【3,x 4,)【5,x 6;U p d a t e D a t a(T R U E);x 1=(d 伽b】e)mm;也=(d 删e)邺;)【3=(d 洲e)m _ k;x 4=(d o u b l e)m 如;x 5=(d o u b l e)m v 0;x 6=(d o u b l e)m j f;C W n d 木p v t b l=(C W n d 木)G e t D l g I t e m(I D C s T A T I C s i m u);M mp l o t h a n d l=w i n a x e s(p 汕1 一 m-h W n d);万方数据第7 期陶桂宝,等:M a t l a b 与V c+混合编程在系统仿真中的应用2 9i n i t M(M A I 0 M V E R S l 0 N);v t b l(x 1,x 2,】【3,x 4,)【5,x 6);m w n2 w n r();m A=A r();n 1 一p h i=p h i r();U p d a t e D a t a(F A L S E);e x i t M();3 5 编译链接v i b m t i o n 工程按一般的c+程序进行编译v 击r a t i o n 工程,由于v b t l h 函数定义文件是相应的m 文件转换生成的,若v b t l m 发生修改,V c+会询问用户是否重新加载这个文件,此时,在重新生成的v b t l h 文件中没有包含”m a d i b”头文件,需手动添加,若没有包含该文件,编译器不能识别M m 数据类型而发生错误。3 6 执行v i b r a t i o n e x e执行v i b r a t i o n e x e 文件后,得如图3 所示对话框,在参数设定栏中输入各参数,单击“开始”按钮,在左框中绘制了有阻尼的单自由度振动系统的响应曲线。4 结论利用M A T c O M 的A d d i n 方法进行程序设计的规范,不需要对于不同的应用程序做不同的接口连接代码,只需要编写相应的m 文件即可;同时由于M A T L A B强大的数值运算及绘图功能,也可以简化工程算法及绘图问题,是一种省时高效的系统仿真的实现方法,对于V C+并不熟练的工程技术人员来说是一个相当有效的选择,使工程人员可以将更多的时间运用于工程原理上,该程序在V C+6 0 和M A T L A B 6 5 下测试通过。参考文献:1 张宜华精通M A l f I A B 5 M 北京:清华大学出版社,1 9 9 9 2 K A E TG R E G O R Y V i s u a l c+5 开发使用手册 M 北京:机械工业出版社,1 9 9 8 3 潘林峰,谭立超M A T L A B 与V c 混合编程的实现 J 武汉化工学院学报,2 0 0 3,2 5(4):7 4 7 5 4 苏金明,刘宏,刘波M A T L A B 高级编程 M 北京:电子工业出版社2 0 0 5 5 刘成俊,周雄,谭逢友,等机械振动与数学的关系初探 J 重庆科技学院学报:自然科学版,2 0 0 6,8(4):3 9-4 0 6 尚涛,石瑞伟,安宁,等工程计算可视化与M a t l a b 实现 M 武汉:武汉大学出版社2 0 0 2 图3 仿真结果A p p l i c a t i o no fM i x e dP r o g r a n l m i n gb yM A T L A Ba n dV C+i nS y s t e mS i m u l a t i o n7 X DG-加0 G U OS 厅a D-6 D(C o l l e g eo fM e c h a n i c a lE n g i n e e r i n g,C h o n g q i n gU n i v e r s i t y,C h o n g q i n g4 0 0 0 3 0,C h i n a)A b s t r a c t:A 盘e rd i s e u s 8 i n gt h ei n t e r a eb e t w e e nM A T L A Ba n dV C+,出em e t h o do fc o n n e c t i n gM A T C O Mw i t l lt h em f i l e s,t h eu s a g ea n ds k i so fM A T C O Ma r ei n t r o d u c e d T a k i n gs i n g l e f b e d o mv i b r a t i o ns y s t e ma st h eo b j e c t,t h m u g ha n a l y z i n gt h ev i b 珀t i o nm o d e lw i t hd a m p i n g,t h es i m u l a t i o na 1 9 0 r i t h mi sp r o g r a m m e d T h es i m u l a t i o nr e s u l t ss h o wt h a tt h es y s t e ms i m u l a t i o ne m c i e n c yh a sb e e ni m p r o v e d K e yw o r d s:s y s t e ms i m u l a t i o n;M A T L A B;V C+;s i n g l e-f b e d o mf b ev i b r a t i o n;d a m p i n g(编辑张小强)万方数据MATLAB与VC+混合编程在系统仿真中的应用MATLAB与VC+混合编程在系统仿真中的应用作者:陶桂宝,郭少波,TAO Gui-bao,GUO Shao-bo作者单位:重庆大学,机械工程学院,重庆,400030刊名:重庆大学学报(自然科学版)英文刊名:JOURNAL OF CHONGQING UNIVERSITY(NATURAL SCIENCE EDITION)年,卷(期):2007,30(7)参考文献(6条)参考文献(6条)1.KAET GREGORY VisualC+5开发使用手册 19982.张宜华 精通MATLAB5 19993.尚涛;石瑞伟;安宁 工程计算可视化与Matlab实现 20024.刘成俊;周雄;谭逢友 机械振动与数学的关系初探期刊论文-重庆科技学院学报(自然科学版)2006(04)5.苏金明;刘宏;刘波 MATLAB高级编程 20056.潘林峰;谭立超 MATLAB与VC混合编程的实现期刊论文-武汉化工学院学报 2003(04)本文链接:http:/

    注意事项

    本文(MATLAB与VC+%2b%2b混合编程在系统仿真中的应用.pdf)为本站会员(qwe****56)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开