VC與MATLAB的混合編程

VC與MATLAB的混合編程

ID:41032683

大小:92.00 KB

頁數(shù):15頁

時間:2019-08-14

VC與MATLAB的混合編程_第1頁
VC與MATLAB的混合編程_第2頁
VC與MATLAB的混合編程_第3頁
VC與MATLAB的混合編程_第4頁
VC與MATLAB的混合編程_第5頁
資源描述:

《VC與MATLAB的混合編程》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫

1、VC++與MATLAB接口編程方法與實現(xiàn)摘?要本文簡介了VC++和MATLAB特點,探討了MATLAB與VC++接口編程的三種方法,并詳細論述了MCC和COM組件接口編程的方法和實現(xiàn)過程。研究表明:采用VC++和MATLAB接口編程方法降低了編程難度,較好地發(fā)揮了兩者各自的優(yōu)勢。關(guān)鍵詞MATLAB;VC++;MCC;COM;接口編程MATLAB是美國MathWorks公司研制開發(fā)的一種科學計算軟件,它將高性能的數(shù)值計算、符號計算和可視化集成在一起,并提供了大量的內(nèi)置函數(shù)以及功能豐富的工具箱,使用方便,編程效率高。然而,MATLAB是一種

2、解釋性語言,運行效率低,不適合作為通用的編程平臺。???VC++是Microsoft公司推出的一個基于Windows平臺的可視化的集成開發(fā)環(huán)境,在運行速度、功能性以及應(yīng)用程序界面開發(fā)方面功能強大,但在數(shù)值計算和圖形繪制方面,VC++并不具備太多優(yōu)勢。因此,采用MATLAB進行核心程序的開發(fā),用VC++制作出友好的程序界面,然后將兩者結(jié)合起來,可以較大地提高編程效率。1 VC++與MATLAB接口方法概述1.1 MATLAB引擎方式???MATLAB引擎采用客戶機/服務(wù)器(Client/Server)的方式,提供了一組MATABAPI函數(shù)

3、,通過調(diào)用這些函數(shù)實現(xiàn)以用程序進程之間的數(shù)據(jù)傳遞。在運用中,讓VC++程序作為前端客戶機,它向MATLAB引擎?zhèn)鬟f命令和數(shù)據(jù),并從MATLAB引擎接受數(shù)據(jù)信息,實現(xiàn)動態(tài)通訊。1.2 MATLAB編譯器(MCC)???MCC是MATLAB中經(jīng)過優(yōu)化的編譯器。使用MCC,用戶可以將MATLAB數(shù)學庫、圖形庫和界面的MATLAB程序轉(zhuǎn)化為獨立于MATLAB的EXE應(yīng)用程序和DLL動態(tài)連接庫,在VC中編寫程序界面并加載調(diào)用動態(tài)連接庫,實現(xiàn)兩者之間的連接。1.3 COM組件???組件對象模型(簡稱MCR)是以組件為發(fā)布單元的對象模型。它提供一種可

4、以共享二進制代碼的工業(yè)標準,允許任何符合標準的程序訪問,所以COM作為不同語言之間的協(xié)作開發(fā)是非常方便的。MATLAB的COM編譯器是在MATLAB6.5中才開始提供的一個新工具,從MATLAB7.0起,這個產(chǎn)品改名為MATLABBuilderforCOM?;贑OM的混合編程方法也是Mathworks公司推薦使用的方法。???以上三種方法中,采用MATLAB引擎方式,應(yīng)用程序整體性能好,MATLAB引擎支持功能全面,但需要MATLAB后臺運行,不能脫離MALAB環(huán)境。而?MCC方法和COM組件方法均可以脫離MATLAB環(huán)境,應(yīng)用程序運

5、行效率高,利于軟件的開發(fā),本文將重點論述MCC和COM組件方法。2 MATLAB編譯器(MCC)2.1 MATLAB與VC++接口配置???采用MCC方法需要對MATLAB和VC++接口設(shè)置,配置步驟如下:???1)MATLAB編譯器配置???首先在MATLAB命令提示符下輸入mbuild-setup命令,選擇編譯器,(需要注意的是必須確保計算機上已經(jīng)安裝了某個版本的VC++,本文選擇visualC++6.0)完成編譯器設(shè)置。???2)VC++環(huán)境設(shè)置???(1)設(shè)定頭文件和庫文件路徑。在VC++環(huán)境菜單欄中選擇Tools->Optio

6、ns->Directories,在“Showdirectoriesfor”欄中首先選擇Includefiles,然后在“directories”中將ExternLibWin32MicrosoftMSVC++60添加進去。再次在“Showdirectoriesfor”欄中選擇Librarysfiles,再在“directories”中添加ExternInclude。???(2)設(shè)置編譯連接選項。在VC++環(huán)境菜單欄中選擇Project->setting,然后選擇lin

7、k選項卡,在object/librarymodules欄中添加mclmcrrt.liblibtest.lib;選擇General選項卡,在MicrosoftFoundationClasses欄中選擇UseMFCinaSharedLibrary。2.2 實例演示???完成MATLAB和VC++的接口設(shè)置以后,就可以實現(xiàn)MATLAB和VC++的接口編程,具體步驟如下:???1)編寫M函數(shù)文件“mypascal.m”???functionm=mypascal(n)???m=pascal(n);???m=m';???示例M函數(shù)文件的作用是生成一

8、個n階的帕斯卡矩陣并返回,Pascal矩陣特點:第一行和第一列的元素均為1,其他位置的元素是前方的元素和上方的元素之和。需要注意的是:由于MATLAB中矩陣存儲方式是以矩陣的列為先,也就是數(shù)據(jù)從第一列開始逐

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。