VB与Matlab混合编程的仿真应用.pdf
《VB与Matlab混合编程的仿真应用.pdf》由会员分享,可在线阅读,更多相关《VB与Matlab混合编程的仿真应用.pdf(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第2 3 卷 第1 2 期 计 算 机 仿 真 2 0 0 6 年l 2 月 文章编号:1 0 0 6 9 3 4 8(2 0 0 6)1 2 0 1 0 4 0 3 VB与 Ma t l a b混合 编程的仿真应用 温亮,范浩,王丹 毒 (军械工程学院装备指挥与管理系,河北 石家庄 0 5 0 0 0 3)摘要:介绍了V i s u a l B a s i c 与M a t l a b 混合编程方法在可靠性与维修性仿真中的应用。此方法突破了以往利用单一语言实现系 统可靠性与维修性仿真的限制,更广泛的利用了现有技术成果,降低了编程难度,加快了编程速度。详细介绍了V i s u a l B a
2、s i c 与M a t l a b混合编程的方法及实现步骤。包括 M a t l a b 编译环境的设置、M a t l a b 程序编写、M a t l a b C O M组件的编译与发布以及 如何在 V i s u a l B a s i c 中使用M a t l a b C O M组件。详细叙述了混合编程每个步骤实现的技术关键,为可靠性与维修性仿真解决 了软件实现的技术问题。最后一部分给出了利用 V i s u a l B a s i c 与Ma t l a b 混合编程方法进行可靠性与维修性仿真的示例。关键词:可靠性与维修性仿真;应用程序接口;混合编程 中圈分类号:T P 3 l 1
3、 文献标识码:A Ap p l i c a t i o n o f S i mu l a t i o n Us i n g VB a n d M a t l a b M i x e d P r o g r a mmi n g W EN Li a n g,F AN Ha o,W ANG Da n (D e p a r t m e n t o f E q u i p m e n t C o m ma n d a n d Ma n a g e me n t,O r d n a n c e E n g i n e e r i n g C o l l e g e,S h i j i a z h u a
4、n g He b e i 0 5 0 0 0 3,C h i n a)ABS TRACT:Ap p l i c a t i o n o f s y s t e m r e l i a b i l i t y a n d ma i n t a i n a b i l i t y s i mu l a t i o n b a s e d o n Vi s u a l B a s i c a n d Ma t l a b mi x e d p r o g r a mmi n g i s i n t r o d u c e d i n t h i s p a p e r T h i s me t h
5、o d b r e a k s t h r o u g h t h e l i mi t a t i o n o f u s i n g s i n g l e p r o g r a mmi n g l a n g u a g e i n s y s t e m r e l i a b i l i t y a n d ma i n t a i n a b i l i t y s i mu l a t i o n a n d c a n ma k e mo r e e x t e n s i v e u s e o f e x i s t i n g t e c h n i c a l a c
6、 c o mp l i s h me n L Wi t h t h i s me t h o d,p r o g r a mmi n g d i f f i c u l t y c a n b e r e d u c e d a n d p r o g r a mmi n g s p e e d c a n b e a c c e l e r a t e d Th e me t h o d a n d a p p r o a c h o f Vi s u a l Ba s i c a n d Ma t l a b mi x e d p r o g r a mmi n g a r e i n t
7、 r o d u c e d i n d e t a i l,i n c l u d i n g s e t u p o f Ma t l a b e n v i r o n me n t,Ma t l a b p r o g r a mmi n g,c o mp i l i n g a n d r e l e a s e me t h o d o f Ma t l a b COM c o mp o n e n t a n d h o w t o u s e Ma t l a b C OM c o mp o n e n t i n Vi s u a l B a s i c e n v i r
8、o n me n t Th e k e y t e c h n o l o g i e s o f mi x e d p r o g r a mmi n g a r e i n t r o d u c e d i n d e t a i l An e x a mp l e o f r e l i a b i l i t y a n d ma i n t a i n a b i l i t y s i mu l a t i o n,u s i n g Vi s u a l Ba s i c a n d Ma t l a b mi x e d p r o g r a mmi n g i s g i
9、 v e n a t l a s t KE YWOR DS:R e l i a b i l i t y a n d ma i n t a i n a b i l i t y s i m u l a t i o n;A p p l i c a t i o n p r o g r a m i n t e r f a c e(A P I);Mi x e d pr o g r a mmi n g 1 引言 伴随现代化生产设备的高速运转,可靠性与维修问题越 来越受到业界的重视。可靠性与维修性的评估从设备设计、生产、定 型到使用、报废,在设备的整个生命周期 内都有应 用。仿真方法是一种重要的可靠性与维修性
10、分析方法,仿真 方法相对来说不用建立复杂的数学模型,只需弄清子系统或 零部件的故障规律及运行过程,是一种分析复杂系统可靠性 与维修性有效的解决方法。按照系统可靠性与维修性评估的 要求,系统可靠性与维修性仿真需要模拟系统运行过程和维 收稿 日期:2 0 0 51 02 5 1 0 4 一 修过程,对设备运行、故障、维修等事件进行统计,从而确定 设备系统在一定的运行环境和维修策略下的故障和维修规 律。这样一系列的工作以往有利用 F o rt r a n、C+等程序实现 的成功例子,不过可靠性与维修性仿真需要进行分布拟合,参数估计,假设检验等统计处理,为便于分析还需要报表及 图形的输出,这些方法对于
11、支持复杂的统计分析及报表输出 j 存在编程上的困难,往往设计统计分析和图形报表程序要比 设计仿真流程更加复杂,鉴于此本文提供一种基于 V i s u a l B a s i c 和 M a t l a b的混合编程仿真方法 以降低编程工作量,提 高图形输出能力。2 混合编程设计思路 多种语言之间混合编程的目的在于最大限度的利用各 维普资讯 http:/ 譬 种编程语言的优势,降低编程难度,加快编程速度,获得单一 语言编程所达不到的效果。M a t l a b 是工程中常用的软件,具有数学分析、数值计算、图形绘制和仿真等功能,可以实现系统可靠性与维修性仿真 及其输出要求。M a t l a b是
12、独立的科学计算语言,支持矩阵计 算,仿真中的数据可以存储在矩阵中,根据处理需要直接可 进行计算,这对于 V i s u a l B a s i c这样的通用语言实现矩阵运 算在编程上非 常复杂。M a t l a b程 序以 m 文件(扩 展名为 m)的形式存储,为解释型语言,因此在计算速度上要远 慢于V C等语言,不过在 M a t l a b 6 5 以后的版本,M a t h w o r k s 公 司作出了很大的改进,其运算速度大大提高,对于现代的 P c 机来说运算时间已经不是主要问题了。V i s u a l B a s i c 是常用的程序设计语言,其特点不再赘述。M a t l
13、 a b 本身不是用来设计软件的,因此图形用户界面设 计的功能要弱的多,用 Ma t l a b难于实现 良好的人机交互界 面。在这方面 V i s u a l B a s i c 就要体现出其优势了,V i s u a l B a s i c 学习和使用简便,易于设计出良好的人机交互界面。本文提 出的混合编程方法就是要将两者的优势相结合,用 V i s u a l B a s i c 设计人机交互界面,用 M a t l a b 实现仿真运算、数据处理 及图形输出。混合编程的技术关键在于如何将两种不同的语 言联系起来。3 V i s u a l B a s i c与 Ma t l a b混合
14、编程实现方法 早期版本的M a t l a b 程序要在 M a t l a b 环境中运行,因此要 利用 M a t l a b 的功能就必需在本机安装 M a t l a b,这给其应用带 来了不变。随着M a t l a b 6 0、6 5、7 0 等一系列版本的发布,包 含了一系列外部应用程序接 口,如 DD E、O L E、A c t i v e X、C O M 等流行的标准和技术在 Ma t l a b都得到了应用。这里着重提出的是其 C O M组件技术,利用此项技术可 以将Ma t l a b 的m文件编译成 C O M组件(d l l 文件)供其它 应用程序调用,即可实现脱离
15、M a t l a b 环境运行。虽然 M a t l a b S i m u l i n k 提供了专门的仿真环境,但主要用于控制系统,而 且在目前的版本中不能编译成 C O M组件供其它程序使用,故本文不采用 M a t l a b S i m u l i n k 方法。这项编译技术在其6 0 版本内还只能用命令的方式实现,在6 5版本中增加了图形 界面的编译器,而且提供了基于V i s u a l B a s i c 和E x c e l V B A两 种应用的编译方式。下面以 M a t l a b 7 x为例,按步骤说 明如何实现 V i s u a l B a s i c 与M a
16、 t l a b 混合编程,E x c e l V B A与M a t l a b 混合编程方法 与其差别不大。3 1设 置 Ma fl a b环境 要实现m文件的编译,首先在安装 M a t l a b时要选择安装 M a t l a b C C+数学库和图形库。要实现 C O M组件的编译,还需要安装支持C O M组件C C+的编译器,Ma t l a b自带的 L C C编译器不支持 C O M组件的编译。简便起见只要在安装 V i s u a l S t u d i o 时将V i s u a l B a s i c 和V i s u a l C+一起安装就可 以了,V i s u a
17、 l C+十编译器支持 C O M组件的生成。接下来要在 Ma t l a b“C o mm a n d Wi n d o w”中执行“m e x s e t u p”,和“re b u i l ds e t u p”进行设置,执行“m e xs e t u p”时会出现类似如下的信息:P l e a s e c h o o s e y o u r c o mp i l e r f o r b u i l d i n g e x t e r n a l i n t e r f a c e(ME X)fi l e s:Wo u l d y o u l i k e m e x t o l o c
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB Matlab 混合 编程 仿真 应用
限制150内