版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、VisualC是當(dāng)前主流的應(yīng)用程序開(kāi)發(fā)環(huán)境之一,開(kāi)發(fā)環(huán)境強(qiáng)大,開(kāi)發(fā)的程序執(zhí)行速度快。但在科學(xué)計(jì)算方面函數(shù)庫(kù)顯得不夠豐富、讀取、顯示數(shù)據(jù)圖形不方便。Matlab是一款將數(shù)值分析、矩陣計(jì)算、信號(hào)處理和圖形顯示結(jié)合在一起,包含大量高度集成的函數(shù)可供調(diào)用,適合科學(xué)研究、工程設(shè)計(jì)等眾多學(xué)科領(lǐng)域使用的一種簡(jiǎn)潔、高效的編程工具。不過(guò)由于Matlab使用的是解釋性語(yǔ)言,大大限制了它的執(zhí)行速度和應(yīng)用場(chǎng)合?;赩C和Matlab混合編程是很多熟悉VC編程而
2、又需要進(jìn)行科學(xué)計(jì)算、數(shù)據(jù)仿真的科研人員常用的一種方式,其中最簡(jiǎn)單也最直接的方法就是調(diào)用Matlab引擎。本文以下部分將詳細(xì)介紹通過(guò)VC6.0調(diào)用Matlab6.5引擎來(lái)達(dá)到VC與Matlab數(shù)據(jù)共享編程的方法。1.什么是Matlab引擎所謂Matlab引擎(engine),是指一組Matlab提供的接口函數(shù),支持CC、Ftran等語(yǔ)言,通過(guò)這些接口函數(shù),用戶可以在其它編程環(huán)境中實(shí)現(xiàn)對(duì)Matlab的控制??梢灾饕δ苡校骸锎蜷_(kāi)關(guān)閉一個(gè)Ma
3、tlab對(duì)話;★向Matlab環(huán)境發(fā)送命令字符串;★從Matlab環(huán)境中讀取數(shù)據(jù);★向Matlab環(huán)境中寫(xiě)入數(shù)據(jù)。與其它各種接口相比,引擎所提供的Matlab功能支持是最全面的。通過(guò)引擎方式,應(yīng)用程序會(huì)打開(kāi)一個(gè)新的Matlab進(jìn)程,可以控制它完成任何計(jì)算和繪圖操作。對(duì)所有的數(shù)據(jù)結(jié)構(gòu)提供100%的支持。同時(shí),引擎方式打開(kāi)的Matlab進(jìn)程會(huì)在任務(wù)欄顯示自己的圖標(biāo),打開(kāi)該窗口,可以觀察主程序通過(guò)engine方式控制Matlab運(yùn)行的流程,并
4、可在其中輸入任何Matlab命令。實(shí)際上,通過(guò)引擎方式建立的對(duì)話,是將Matlab以ActiveX控件方式啟動(dòng)的。在Matlab初次安裝時(shí),會(huì)自動(dòng)執(zhí)行一次:matlabregserver將自己在系統(tǒng)的控件庫(kù)中注冊(cè)。如果因?yàn)樘厥庠?,無(wú)法打開(kāi)Matlab引擎,可以在Dos命令提示符后執(zhí)行上述命令,重新注冊(cè)。2.配置編譯器要在VC中成功編譯Matlab引擎程序,必須包含引擎頭文件engine.h并引入Matlab對(duì)應(yīng)的庫(kù)文件libmx.li
5、b、libmat.lib、libeng.lib。具體的說(shuō),打開(kāi)一個(gè)工程后,做如下設(shè)置(以VC6為例):1)通過(guò)菜單工程選項(xiàng),打開(kāi)設(shè)置屬性頁(yè),進(jìn)入Directies頁(yè)面,在目錄下拉列表框中選擇Includefiles,添加路徑:“C:matlabexterninclude“(假定matlab安裝在C:matlab目錄)。MessageBox(“CantstartMatlabengine!“)exit(1).…………engClose(ep)
6、關(guān)閉Matlab引擎。3.2向Matlab發(fā)送命令字符串engEvalString-發(fā)送命令讓Matlab執(zhí)行。函數(shù)聲明:intengEvalString(EngineepConststring)參數(shù)ep為函數(shù)engOpen返回的引擎指針,字符串string為要matlab執(zhí)行的命令。函數(shù)返回值為0表示成功執(zhí)行,返回1說(shuō)明執(zhí)行失?。ㄈ缑畈荒鼙籑atlab正確解釋或Matlab引擎已經(jīng)關(guān)閉了)。3.3獲取Matlab命令窗口的輸出要在V
7、C中獲得函數(shù)engEvalString發(fā)送的命令字符串被Matlab執(zhí)行后在matlab窗口中的輸出,可以調(diào)用engOUtputBuffer函數(shù)。函數(shù)聲明:intengOutputBuffer(Engineeppintn)參數(shù)ep為Matlab引擎指針,p為用來(lái)保存輸出結(jié)構(gòu)的緩沖區(qū),n為最大保存的字符個(gè)數(shù),通常就是緩沖區(qū)p的大小。該函數(shù)執(zhí)行后,接下來(lái)的engEvalString函數(shù)所引起的命令行輸出結(jié)果會(huì)在緩沖區(qū)p中保存。如果要停止保存
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- vc++調(diào)用matlab引擎(engine)配置方法
- vs2010調(diào)用matlab引擎的簡(jiǎn)單例子
- 電機(jī)軟啟動(dòng)器的MATLAB仿真分析.pdf
- 基于MATLAB的黑啟動(dòng)方案的仿真校驗(yàn).pdf
- 科技+綠色 雙引擎啟動(dòng) 化纖業(yè)迎來(lái)新時(shí)代
- 科技+綠色 雙引擎啟動(dòng) 化纖業(yè)迎來(lái)新時(shí)代
- matlab實(shí)驗(yàn)1 matlab初步
- matlab
- matlab
- matlab
- matlab課程設(shè)計(jì)--matlab的繪圖
- matlab教程
- matlab技巧
- matlab教案
- matlab命令
- matlab題庫(kù)
- matlab答案
- matlab概述
- matlab教程
- matlab積分
評(píng)論
0/150
提交評(píng)論