论文部分内容阅读
摘要:本文深入分析了VC++与MATLAB两种编程语言的特点,充分发挥了两种语言的优点,实现混合编程。并在弹箭弹道参数相对于气动参数的灵敏度分析过程中进行了验证,直观方便地利用灵敏度函数对气动参数加以辨识,得出弹道参数模型,并进行弹道计算。
关键词:编程 混合编程 灵敏度
MATLAB是一种以矩阵为基本运算单位的高效数值计算软件,带有功能强大的数学函数库,并开发有多种学科领域的工具箱函数库,广泛地应用于科学研究与工程计算。VC++用于面向对象的可视化编程,可以完成从底层软件直到面向用户软件等各种应用程序的开发。利用它提供的各种实用工具,开发者可以轻松开发出高效强大的Windows应用程序。
把MATLAB在数值计算、算法设计以及数据可视化等领域的优势与VC++应用系统集成,不仅可以完全满足系统在数据运算与表现方面的需求,而且还可提高系统处理的效率和稳定性,同时也减少了开发人员实现算法的困难,縮短了软件开发的周期,提高了软件质量,在实践中具有很高的使用价值。
1 MLRS/M26多管火箭弹弹道
所谓弹道是指弹箭在空中飞行时,其质心所经过的路线,它是一条空间曲线。从弹箭侧面看,弹道的投影如图1所示:
利用现代控制理论、弹箭飞行动力学、数值分析、随机过程、弹箭设计理论以及计算机仿真等理论,分析弹箭弹道参数对气动系统灵敏度函数问题,以MATLAB和VC为操作平台,制作用户操作界面。
2 VC++与Matlab混合编程的优点
VC++用于面向对象的可视化编程,开发者可以轻松开发出高效强大的Windows应用程序,利用它提供的各种实用工具,可以完成从底层软件直到面向用户软件等各种应用程序的开发。但在实际工程开发中,与Matlab相比:
①Matlab比VC++在数值处理分析和算法工具等方面更优异。
②MATLAB比VC++在准确方便地绘制数据图形方面更完善。
Matlab具有强大的数值计算功能,MATLAB中提供了大量用C\C++重新编写的Matlab库函数,MATLAB自身存在一些缺点限制了它在更多方面的应用,主要包括初等数学函数、线形代数函数、矩阵操作函数、数值计算函数、特殊数学函数、插值函数等,这些缺点主要包括:
①容易被直接读取,所以难以保护劳动者的成果,Matlab编写的M文件大多是文本文件。
②它的的界面开发能力较差,难以开发出友好的应用界面。
③语言执行效率低,实时性较差,Matlab大多是一种解释性语言。
④Matlab程序不能脱离其运行环境,可移植性差。
3 用户操作界面
在VC环境中调用Matlab程序,制作用户操作界面。既能够充分利用VC建立友好的界面,又可以利用MATLAB避免编写复杂的算法,大大提高编程效率。用户可以根据需要,直接输入参数的初始值,点击画图按钮就可以模拟出在此弹道参数下的弹丸运动轨迹,具有可重复性,给用户研究提供了方便。
为方便用户研究问题,设计了用户操作界面。考虑到软件的通用性可重复性,应面向所有初始发射条件下的弹箭,从而定义了视图类进行初始发射条件数据和飞行条件数据的输入,能够非常灵活地进行各种数据的处理。程序设计时,采用了面向对象的程序设计方法,为软件功能的进一步完善奠定了基础。
参考文献:
[1]钱杏芳.导弹飞行力学.北京:北京理工大学出版社,2003.
[2]周鸣扬.Visual C++界面编程技术.北京:北京希望电子出版社,2003.
[3]刘志俭,潘献飞.MATLA外部程序接口(6.X).北京:科学出版社,2002.
[4]董维国.MATLA7.X混合编程.北京:机械工业出版社,2006.
作者简介:
张可菊,(1978-),女,辽宁沈阳人,讲师,研究方向为控制理论与控制工程。
关键词:编程 混合编程 灵敏度
MATLAB是一种以矩阵为基本运算单位的高效数值计算软件,带有功能强大的数学函数库,并开发有多种学科领域的工具箱函数库,广泛地应用于科学研究与工程计算。VC++用于面向对象的可视化编程,可以完成从底层软件直到面向用户软件等各种应用程序的开发。利用它提供的各种实用工具,开发者可以轻松开发出高效强大的Windows应用程序。
把MATLAB在数值计算、算法设计以及数据可视化等领域的优势与VC++应用系统集成,不仅可以完全满足系统在数据运算与表现方面的需求,而且还可提高系统处理的效率和稳定性,同时也减少了开发人员实现算法的困难,縮短了软件开发的周期,提高了软件质量,在实践中具有很高的使用价值。
1 MLRS/M26多管火箭弹弹道
所谓弹道是指弹箭在空中飞行时,其质心所经过的路线,它是一条空间曲线。从弹箭侧面看,弹道的投影如图1所示:
利用现代控制理论、弹箭飞行动力学、数值分析、随机过程、弹箭设计理论以及计算机仿真等理论,分析弹箭弹道参数对气动系统灵敏度函数问题,以MATLAB和VC为操作平台,制作用户操作界面。
2 VC++与Matlab混合编程的优点
VC++用于面向对象的可视化编程,开发者可以轻松开发出高效强大的Windows应用程序,利用它提供的各种实用工具,可以完成从底层软件直到面向用户软件等各种应用程序的开发。但在实际工程开发中,与Matlab相比:
①Matlab比VC++在数值处理分析和算法工具等方面更优异。
②MATLAB比VC++在准确方便地绘制数据图形方面更完善。
Matlab具有强大的数值计算功能,MATLAB中提供了大量用C\C++重新编写的Matlab库函数,MATLAB自身存在一些缺点限制了它在更多方面的应用,主要包括初等数学函数、线形代数函数、矩阵操作函数、数值计算函数、特殊数学函数、插值函数等,这些缺点主要包括:
①容易被直接读取,所以难以保护劳动者的成果,Matlab编写的M文件大多是文本文件。
②它的的界面开发能力较差,难以开发出友好的应用界面。
③语言执行效率低,实时性较差,Matlab大多是一种解释性语言。
④Matlab程序不能脱离其运行环境,可移植性差。
3 用户操作界面
在VC环境中调用Matlab程序,制作用户操作界面。既能够充分利用VC建立友好的界面,又可以利用MATLAB避免编写复杂的算法,大大提高编程效率。用户可以根据需要,直接输入参数的初始值,点击画图按钮就可以模拟出在此弹道参数下的弹丸运动轨迹,具有可重复性,给用户研究提供了方便。
为方便用户研究问题,设计了用户操作界面。考虑到软件的通用性可重复性,应面向所有初始发射条件下的弹箭,从而定义了视图类进行初始发射条件数据和飞行条件数据的输入,能够非常灵活地进行各种数据的处理。程序设计时,采用了面向对象的程序设计方法,为软件功能的进一步完善奠定了基础。
参考文献:
[1]钱杏芳.导弹飞行力学.北京:北京理工大学出版社,2003.
[2]周鸣扬.Visual C++界面编程技术.北京:北京希望电子出版社,2003.
[3]刘志俭,潘献飞.MATLA外部程序接口(6.X).北京:科学出版社,2002.
[4]董维国.MATLA7.X混合编程.北京:机械工业出版社,2006.
作者简介:
张可菊,(1978-),女,辽宁沈阳人,讲师,研究方向为控制理论与控制工程。