📄 matlab与vc集成.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0046)http://www2.ccw.com.cn/01/0151/c/0151c05_2.asp -->
<HTML><HEAD><TITLE>计算机世界网-周报全文- Matlab与VC集成</TITLE>
<META content="text/html; charset=gb2312" http-equiv=Content-Type>
<STYLE>.a14 {
FONT-SIZE: 14px; LINE-HEIGHT: 20px; TEXT-INDENT: 25px
}
.f {
COLOR: #0f3ccd; FONT-SIZE: 18px
}
IMG {
BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; BORDER-RIGHT: 0px; BORDER-TOP: 0px
}
TD {
FONT-SIZE: 12px; font-fammily: verdana,宋体
}
P {
FONT-SIZE: 12px; font-fammily: verdana,宋体
}
A:link {
COLOR: black; TEXT-DECORATION: none
}
A:visited {
COLOR: #80006f; TEXT-DECORATION: none
}
A:hover {
COLOR: black; TEXT-DECORATION: underline
}
</STYLE>
<META content="MSHTML 5.00.3315.2870" name=GENERATOR></HEAD>
<BODY bgColor=#ffffff leftMargin=0 topMargin=2>
<CENTER>
<TABLE align=center border=0 cellPadding=0 cellSpacing=0 width=752>
<TBODY>
<TR>
<TD vAlign=bottom>
<TABLE border=0 cellPadding=0 cellSpacing=0>
<TBODY>
<TR>
<TD vAlign=top><IMG height=69 src="Matlab与VC集成.files/ccwlogo.gif"
width=207></TD></TR>
<TR>
<TD height=27 vAlign=top><IMG height=27
src="Matlab与VC集成.files/week.gif" width=207></TD></TR></TBODY></TABLE></TD>
<TD height=88 vAlign=bottom width=545>
<TABLE bgColor=#444ab6 border=0 cellPadding=0 cellSpacing=0 width=545>
<TBODY>
<TR>
<TD bgColor=#ffffff height=25 vAlign=bottom><IMG border=0 height=21
src="Matlab与VC集成.files/top.gif" useMap=#Map width=560></TD></TR>
<TR>
<TD align=middle height=67 vAlign=center><A
href="http://www.ccw.com.cn/search" target=_blank><IMG border=0
src="Matlab与VC集成.files/esearch.gif"></A></TD></TR>
<TR>
<TD bgColor=#ffffff height=1></TD></TR>
<TR>
<TD bgColor=#91bbff height=1></TD></TR></TBODY></TABLE></TD></TR>
<TR>
<TD bgColor=#91bbff colSpan=2>
<TABLE border=0 cellPadding=0 cellSpacing=0 width="100%">
<TBODY>
<TR>
<TD align=middle width="26%">2002年9月29日</TD>
<TD class=V12><A href="http://www2.ccw.com.cn/a/a.asp">综合新闻</A> /</TD>
<TD class=V12><A
href="http://www2.ccw.com.cn/b/b.asp">产品与技术</A> /</TD>
<TD class=V12><A
href="http://www2.ccw.com.cn/c/c.asp">应用与方案</A> /</TD>
<TD class=V12><A
href="http://www2.ccw.com.cn/d/d.asp">网络与通信</A> /</TD>
<TD class=V12><A
href="http://www2.ccw.com.cn/e/e.asp">市场与渠道</A> /</TD>
<TD class=V12><A
href="http://www2.ccw.com.cn/f/f.asp">管理与职场</A></TD></TR></TBODY></TABLE>
<TR>
<TD colSpan=3 height=5 vAlign=top><IMG border=0 height=5
src="Matlab与VC集成.files/1ptrans.gif" width=1></TD></TR>
<TR>
<TD bgColor=#000000 colSpan=3 height=1 vAlign=top><IMG border=0 height=1
src="Matlab与VC集成.files/1ptrans.gif" width=1></TD></TR>
<TR>
<TD colSpan=3 height=5 vAlign=top><IMG border=0 height=5
src="Matlab与VC集成.files/1ptrans.gif" width=1></TD></TR></TBODY></TABLE><MAP
name=t><AREA coords=8,0,56,18 href="http://www.ccw.com.cn/" shape=RECT><AREA
coords=64,2,159,18 href="http://www.ccw.com.cn/news1/" shape=RECT><AREA
coords=173,0,268,18 href="http://www.ccw.com.cn/produ/" shape=RECT><AREA
coords=278,2,376,19 href="http://www.ccw.com.cn/app/" shape=RECT><AREA
coords=385,3,480,19 href="http://www.ccw.com.cn/net/" shape=RECT><AREA
coords=491,2,585,19 href="http://www.ccw.com.cn/market/" shape=RECT><AREA
coords=23,22,86,40 href="http://www.ccw.com.cn/work/" shape=RECT><AREA
coords=101,22,176,40 href="http://www.ccw.com.cn/serv/online/"
shape=RECT><AREA coords=188,22,269,40 href="http://www.ccw.com.cn/game/"
shape=RECT><AREA coords=279,22,348,40 href="http://www.ccw.com.cn/search/"
shape=RECT><AREA coords=359,23,417,40 href="http://www3.ccw.com.cn/"
shape=RECT><AREA coords=430,24,576,40 href="http://www2.ccw.com.cn/"
shape=RECT></MAP><MAP name=Map0><AREA coords=0,0,66,21
href="http://www2.ccw.com.cn/a/a.asp" shape=RECT><AREA coords=95,1,166,24
href="http://www2.ccw.com.cn/b/b.asp" shape=RECT><AREA coords=200,1,271,23
href="http://www2.ccw.com.cn/c/c.asp" shape=RECT><AREA coords=303,1,380,22
href="http://www2.ccw.com.cn/d/d.asp" shape=RECT><AREA coords=417,1,490,22
href="http://www2.ccw.com.cn/e/e.asp" shape=RECT><AREA coords=521,1,600,24
href="http://www2.ccw.com.cn/f/f.asp" shape=RECT></MAP><MAP name=Map><AREA
coords=19,0,64,19 href="http://www.ccw.com.cn/" shape=RECT><AREA
coords=68,0,145,19 href="http://www.ccw.com.cn/news1/" shape=RECT><AREA
coords=150,0,219,19 href="http://www.ccw.com.cn/center/" shape=RECT><AREA
coords=220,0,300,19 href="http://www.ccw.com.cn/work/" shape=RECT><AREA
coords=305,1,368,19 href="http://www.ccw.com.cn/search/" shape=RECT><AREA
coords=371,0,418,19 href="http://www3.ccw.com.cn/" shape=RECT><AREA
coords=420,0,550,19 href="http://www2.ccw.com.cn/" shape=RECT></MAP>
<TABLE align=center width=680>
<TBODY>
<TR>
<TD align=middle><BR>
<H2><FONT color=#0f3ccd>Matlab与VC集成 </FONT></H2><FONT
class=f></FONT><BR><B>◆ 上海大学通信与信息工程学院 杨高波</B> <BR>
<HR color=#f46240 SIZE=1 width=660>
</TD></TR></TBODY></TABLE><BR>
<TABLE align=center width=620>
<TBODY>
<TR>
<TD class=a14>
<P
class=a14><U><I><B>Matlab是一个具有强大的矩阵运算、数据处理和图形显示功能的软件,其输出结果可视化,编程效率极高,极少的代码即可实现复杂的运行,然而其边解释边执行,运算效率较低,实现相同功能的代码跟其他编程平台相比运行时间相对较长,且不适合作为通用的编程平台。因此,许多Matlab的应用程序需要使用诸如VC之类的通用编程平台,实现Matlab与VC的混合编程,这样有助于发挥Matlab和VC的各自优势。
</B></I></U>
<P class=a14><B>集成的几种实现方法 </B>
<P class=a14>为了实现混合编程,Matlab 5.0以后版本自带了C语言编译器(Compiler),
可以将M文件转换为C-MEX或C/C++程序。根据Matlab是否运行,一般将Matlab与VC混合编程分为两大类:Matlab在后台运行和可以脱离Matlab环境运行。
<P
class=a14>1.Matlab引擎(Engine)采用客户机/服务器(Client/Server)的计算方式,通过Windows的ActivcX通道和Matlab接口。在具体的应用中,VC的程序作为前端客户机,通过调用Matlab
Engine在后台与Matlab服务器建立连接,实现动态通信。这种方法实现较为简单,不要求连接整个Matlab,只需要嵌入必要的Matlab
Engine库,可大大地节省系统资源,但这种Matlab在后台运行,运行效率低下。
<P
class=a14>2.Mideva是Mathtools公司推出的一种Matlab集成编译开发平台,提供对Matlab程序文件(M文件)的解释执行和开发环境支持。经过简单设置后Mideva可以将M源文件转换为C/C++,然后添加到MSVC、C++
Builder的工程中。
<P class=a14>3. 另一种方法是先利用Mideva直接生成EXE文件(方法是启动Mideva,在菜单“File->Compile
to exe”中,
选出需要转换的M文件),然后在VC中通过Shell调用,常见的外部函数有shellexec()或winexec()。这种方法简单方便,但运行时出现一个控制台窗口,而且由于VC和Matlab之间不能交互,通用性差,仅适用于VC中调用Matlab实现图形显示的场合。
<P class=a14>4. 最新也是最方便的方法是通过Matlab 6.0 Add-in实现Matlab与VC的混合编程。
<P class=a14>以上方法1需要Matlab在后台运行,方法2、3、4可以脱离Matlab环境运行。
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -