資源描述:
《綜述MATLAB與VC 的交互編程.pdf》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、第21卷 第9期計 算 機 仿 真2004年9月 文章編號:1006-9348(2004)09-0193-04綜述MATLAB與VC++的交互編程李天昀,葛臨東(鄭州信息工程大學(xué)信息工程學(xué)院,河南鄭州450002)摘要:在通信等工程領(lǐng)域的計算機仿真中,VC和Matlab的交互編程可以結(jié)合兩者的優(yōu)點,提高仿真效率。文中介紹了Matlab與VC++之間交互編程的幾種方法,包括調(diào)用Matlab引擎、C語言mex程序、mat文件操作程序等方法,并特別介紹了MatlabVisualStudioAdd-in的使用。同時分析了各種方法的優(yōu)缺點和適用場合,提出了適合于算法仿真
2、的交互編程方法。關(guān)鍵詞:軟件;語言;交互編程中圖分類號:TP312文獻(xiàn)標(biāo)識碼:AASurveyofInteractiveProgrammingforMATLABandVC++LITian-yun,GELin-dong(InformationEngineeringDepartmentofInformationEngineeringUniversity,ZhengzhouHenan450002,China)ABSTRACT:Inthefieldofcomputersimulationforengineering,suchascommunications,theint
3、eractiveprogrammingforMatlabandVC++canunitetheiradvantagestoincreasethesimulationefficiency.Inthispapermanyskillsattheinterac2tiveprogrammingforMatlabandVC++suchasMatlabengine,C-Languagemexprogram,matprogramarediscussed,especiallytheusageofMatlabVisualStudioAdd-inisdiscussedindetail.
4、Finallytheinteractiveprogrammingtechniquessuitableforalgorithmicsimulationareproposedbasedonthediscussionoftheadvantages,disadvantagesandthecorrespond2ingapplicationfields.KEYWORDS:Software;Language;InteractiveProgramming1 引言在Matlab中調(diào)用C代碼生成的動態(tài)鏈接庫文件來加快執(zhí)行Matlab和VC++是目前應(yīng)用最廣泛的工程仿真和開發(fā)速度,解
5、決計算瓶頸問題。軟件,但是他們有著各自的優(yōu)缺點。Matlab功能強大的圖形句柄系統(tǒng)和2維/3維數(shù)據(jù)可視化讓開發(fā)人員可以非常直觀2Matlab的應(yīng)用程序接口地查看變量,Matlab提供的全面的工具箱函數(shù)以及他人編寫Matlab中提供的應(yīng)用程序接口是一個功能完善的外部程的相關(guān)專業(yè)的函數(shù)集合可以讓開發(fā)者大大地縮短仿真周期。序接口函數(shù)庫,通過這些函數(shù)可以完成與C語言、Fortran語但是Matlab的m代碼是解釋性執(zhí)行的,程序執(zhí)行效率低,對言之間的聯(lián)合編程。文中主要以與C語言的接口為例,其中大規(guī)模的數(shù)值計算和分析力不從心;而且Matlab程序不能脫測試用的軟件版本為Wi
6、ndows操作系統(tǒng)下的Matlab6.1和Vi2離其運行環(huán)境,因此不適于開發(fā)商用軟件。C語言代碼執(zhí)行sualC++6.0。效率高,而且在開發(fā)中還可以直接將仿真用的代碼植入到在與C語言的接口函數(shù)設(shè)計中,Matlab陣列被聲明為DSP(數(shù)字信號處理器)開發(fā)程序中或應(yīng)用到VC++開發(fā)的mxArray結(jié)構(gòu)體?;趍xArray結(jié)構(gòu)體可以處理各種數(shù)據(jù)類系統(tǒng)中去。型的多維矩陣,包括實數(shù)矩陣、復(fù)數(shù)矩陣、稀疏矩陣等不同結(jié)在計算機上編程對算法或控制流程進行軟件仿真時,如構(gòu)的處理。在mxArray結(jié)構(gòu)體的基礎(chǔ)上構(gòu)建了實現(xiàn)各種數(shù)據(jù)果結(jié)合Matlab和VC++的優(yōu)點,取長補短,則可以縮
7、短開發(fā)交互功能的接口操作函數(shù),包括mx-函數(shù)、mex-函數(shù)、mat-周期、取得更好的效果。利用Matlab應(yīng)用程序接口可以做到函數(shù)和引擎函數(shù)等。VC++與Matlab的聯(lián)合編程,既可以在C語言程序中打開mx-函數(shù)提供了在C語言程序中創(chuàng)建、訪問、修改和刪Matlab引擎,調(diào)用Matlab的ToolBox函數(shù)和作圖函數(shù),也可以除mxArray結(jié)構(gòu)體對象的操作,mex-函數(shù)提供了C語言mex程序與Matlab環(huán)境交互陣列數(shù)據(jù)的方法,mat-函數(shù)則提供收稿日期:2003-03-21了在C語言中對mat文件進行創(chuàng)建、讀取和修改等操作的方—193—?1995-2005Tsi
8、nghuaTongfan