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