VC++与MATLAB混合编程技术研究

VC++与MATLAB混合编程技术研究

维普资讯 www.51wendang.com

第2卷 8 v0 8 l2

第9期 № 9

20年9 0 2月 Se e b 02 pt m er20

Co p t rEn i e rng m u e gn e i

开发研究与设计技术

文章编号:1o一 48 02 9 _6- 3 0o 32( 0)—0争. 2 0 2 o

文献标识码:A

中图分类号: T 1 52 P31 .

VC+与MAT AB+ L 郭虹,薄云飞,林 。

编程技术研究 冬

(息工程大学信息技术学院,郑州 4 0 0 )信 5 0 2

件发 .的 V+下何分用 ab大数分处和学算功进混编的题,期到单快进软搏搴:述在 c+境如充利 Mt强的据析理数计的能行合程问以达简、速行 开的目了论环 l a 介绍了Vc+与 Mal混合编程的3方法,并对几种方式进行特点分析和比较,提出了较为有效和方便的方式。+ tb a种 关健词:Ma a t b;Vc+:混合编程;引擎; MA C M l+ T O

Re e r h n ulil sa c o M t—ang g og a m i c ua e Pr r m ng Te hnol g o y

o C- wih M a l b fV H- t ta GUO Ho g, BO n Yu e, LI Do g nf i N n ( n o mai n Te h oo yI si t I f r t c n lg n t u e, P A n o ma in En i e rn i e st Zh n z o 5 0 2 o t L I f r t g n e i gUn v riy, e g h u 4 0 0 ) o

[ src T i a e e cie h rn i l o l n u g r g a Ab ta t hsp p rd srb st ep icpe fmut l g a ep o r mmig o I ia n fVC+ wi alb ito u e o rso d gmeh d o+ t M t . r d c sc rep n i t o st h a n n de t t n i e he r l v tc de o m o t ato Fi a l, t o al wih i,a d g v s t e e an o sf r de ns r i n. n ly i c mpa e hr em e h s c r ct rs i n i e ut r’s ge t r s t e t o ha a e itc a d g v s a ho s ug s .

d

[ ywo d]M alb; VC+ Ke r s t a+; M u tln u g r g a l g a ep o r mmig n ie; M ATCOM ia n;E gn

Ma a作为当今世界上应用最为广泛的数学软件,具有 tb l非常强大的数值计算、数据分析处理、系统分析、图形显示 甚至符号运算的功能。它是一个完整的数学平台,在这个平

e g t r y e g u Ara,e g a ti g e g t u B fe n Ge Ara, n P t r y n Ev S rn, n Ou p t u f r,

e g ls-户进行交互。 n C oe ̄客

作为示例,给出一段 V+码,示范如何启动 Malb c+代 t a 引擎, V+程序和 Ma a如何进行数据交换,如何利用 c+ tb l Malb t强大的图形处理功能进行三维图形的显示。 a ()件 1条 Malb51上版本 t .以 a V+50上版本 C+ .以

台上,用户只需寥寥数语就可以完成十分复杂的功能,大大提高了工程分析计算的效率。但是Malb t强大的功能只能在 a它所提供的平台上才能使用,即用户必须在安装 Mal系统 tb a 的机器上才能执行 m文件。这样当用户需要在Mal下已 . tb a开发完毕的复杂算法应用到高级语言开发环境下时就带来了

问题,是将现成的东西集成高级语言开发的程序中呢?还是用高级语言再重新实现一遍?显然大家所期望的是减少工作 量,最好能将 Malb开发好的程序或函数直接应用到高级 t下 a语言开发的程序中,这就是Malb高级语言的混合编程问 t与 a

()由于用到Mal 2 t b引擎,需要在用到引擎的 .c p a p文件中加入“ n ie”和“ ahh两个头文件,并对 V+ e gn . h m t.” C+ 的环境进行设置:选择 T os o l菜单的o t n项,在 D rcois pi s o i tr e e选项卡中对 Icu efe增 J1 gn .所在的具体路径。 n ld ls je ie i[n h ()用 MalbJ擎 3使 t i a l v i C p c Ara Viw: Us Malb n i e C p c Ar y o od S a e r y e: On e t E gn ( S a e r D c a a p c Do )

题。解决这个问题,不仅

能更好地发挥 Malb t强大的功能, a 还能快速地进行软件开发,尤其是当软件开发中需要实现复 杂的数学算法时尤为迫切。 微软公司的 V+作为一种c+言的开发平台广受用 c++语户的欢迎和好评,其具有时下较为流行的可视化开发软件的所有特点,能够开发出功能强大、界面友好的软件,其本身具有C和c+言强大的编程处理能力,使得使用 V+开发+语 c+

//打开 Ma a ̄[,建立与本地Mal的连接 l fb擎 tb a i ! p e g e (\”) f (= n Op n” 0 )) (e

{ Af Me sg B x” n t t x s a e o (Ca。s r t a MAT AB e g n”: L n ie) e i-) xt 1: (

的用户越来越多。 在工程科研领域,人们常采用Malb t进行复杂的算法研 a 究,有时需要将 Malb发好的算法运用到 V+所开发的 t开 a c+

)

//需要传递给Malb行操作的数据 t进 a d u l f[8]9] o be x 1 0[ 0;

程序中,如何将 V+ Malb行有效的混合编程广受工 c+与 t进 a程科研人员的关注。作者对混合编程技术进行了深入、细致的研究,有如下 3方法可行。种

it, n|; j f ri 0 i 1 0i+ o(; 8: )=<+

fr -; 9;+ o( 0j 0j ) j<+ f[[= D c)— x[[; xi j p o -_ ft]i]] d j]

1利用M alb l t ̄擎 a 该方法采用客户和服务器计算方式,利用Malb l将 t ̄擎 a Mal和v+系起来。在运用中,Vc+境下开发的程 tb a c+联+环序作为客户端,Ma a作为本地的服务器。 Vc+序向 tb l+程

,因为 M alb能接收的数据都是以矩阵的形式进行组织的,/ t所 a ,/因而需要将传递给Malb t的数据转化为Malb a t所能接受的形式创建 a

,,矩阵,对应 Mal输入数据的对象 tb a

Mal I传递命令和数据信息,并从 Malb l t bi擎 aJ t ̄擎接收数据 a 信息。 Ma a引擎提供了如下几个函数: e g p n tb l n O e,

作者倚介:郭虹(9 5,女,硕士、助教,主要

研究方向为数 1 7~)字信号处理、阵列信号处理;薄云飞、林冬,硕士、讲师 收稿日期:2 011 3 0 02 —

26— 9

VC++与MATLAB混合编程技术研究

VC++与MATLAB混合编程技术研究相关文档

最新文档

返回顶部