久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

轉(zhuǎn)載:VC++與Matlab混合編程之引擎操作詳解(2)引擎API詳解

 zhaopengxslc 2011-06-09

3. 引擎API詳解

在調(diào)用Matlab引擎之前,,首先應(yīng)在相關(guān)文件中加入一行:#include "enging.h",該文件包含了引擎API函數(shù)的說明和所需數(shù)據(jù)結(jié)構(gòu)的定義,??梢栽?/span>VC中調(diào)用的引擎函數(shù)分別如下:

3.1 引擎的打開和關(guān)閉

engOpen-打開Matlab engine

函數(shù)聲明:

Engine *engOpen(const char *startcmd);

參數(shù)startcmd是用來啟動(dòng)Matlab引擎的字符串參數(shù),在Windows操作系統(tǒng)中只能為NULL,。

函數(shù)返回值是一個(gè)Engine類型的指針,,它是在engine.h中定義的engine數(shù)據(jù)結(jié)構(gòu)。

EngClose-關(guān)閉Matlab 引擎

函數(shù)聲明:

int engClose(Engine *ep);

參數(shù)ep代表要被關(guān)閉的引擎指針,。

函數(shù)返回值為0表示關(guān)閉成功,,返回1表示發(fā)生錯(cuò)誤。

例如,,通常用來打開/關(guān)閉Matlab引擎的代碼如下:

Engine *ep; //定義Matlab引擎指針,。

if (!(ep=engOpen(NULL))) //測(cè)試是否啟動(dòng)Matlab引擎成功。

{

MessageBox("Can't start Matlab engine!" );

exit(1);

}

. …………

engClose(ep); //關(guān)閉Matlab引擎,。

3.2 Matlab發(fā)送命令字符串

engEvalString-發(fā)送命令讓Matlab執(zhí)行,。

函數(shù)聲明:

int engEvalString(Engine *ep, Const char *string);

參數(shù)ep為函數(shù)engOpen返回的引擎指針,字符串string為要matlab執(zhí)行的命令,。

函數(shù)返回值為0表示成功執(zhí)行,,返回1說明執(zhí)行失敗(如命令不能被Matlab正確解釋或Matlab引擎已經(jīng)關(guān)閉了),。

3.3 獲取Matlab命令窗口的輸出

要在VC中獲得函數(shù)engEvalString發(fā)送的命令字符串被Matlab執(zhí)行后在matlab窗口中的輸出,,可以調(diào)用engOUtputBuffer函數(shù)。

函數(shù)聲明:

int engOutputBuffer(Engine *ep, char *p, int n);

參數(shù)epMatlab引擎指針,,p為用來保存輸出結(jié)構(gòu)的緩沖區(qū),,n為最大保存的字符個(gè)數(shù),通常就是緩沖區(qū)p的大小,。該函數(shù)執(zhí)行后,,接下來的engEvalString函數(shù)所引起的命令行輸出結(jié)果會(huì)在緩沖區(qū)p中保存。如果要停止保存,,只需調(diào)用代碼:engOutputBuffer(ep, NULL, 0),。

3.4 讀寫Matlab數(shù)據(jù)

3.4.1Matlab引擎工作空間中獲取變量,。

mxArray *engGetVariable(Engine *ep, const char *name);

參數(shù)ep為打開的Matlab引擎指針,name為以字符串形式指定的數(shù)組名,。

函數(shù)返回值是指向name數(shù)組的指針,,類型為mxArray*mxArray數(shù)據(jù)類型在本文第4節(jié)詳細(xì)簡(jiǎn)介)。

3.4.2 Matlab引擎工作空間寫入變量,。

int engPutVariable(Engine *ep, const char *name, const mxArray *mp);

參數(shù)ep為打開的Matlab引擎指針,,mp為指向被寫入變量的指針,name為變量寫入后在Matlab引擎工作空間中的變量名,。

函數(shù)返回值為0表示寫入變量成功,,返回值為1表示發(fā)生錯(cuò)誤。

3.5 調(diào)用引擎時(shí)顯示/隱藏Matlab主窗口

默認(rèn)情況下,,以engine方式調(diào)用Matlab的時(shí)候,,會(huì)打開Matlab主窗口,可在其中隨意操作,。但有時(shí)也會(huì)干擾應(yīng)用程序的運(yùn)行,,可用以下設(shè)置是否顯示該窗口。

int engSetVisible(Engine *ep, bool value);

參數(shù)ep為打開的Matlab引擎指針,,value為是否顯示的標(biāo)志,,取值true(或1)表示顯示Matlab窗口,取值false(或0)表示隱藏Matlab窗口,。

函數(shù)返回值為0表示設(shè)置成功,,為1表示有錯(cuò)誤發(fā)生,。

要獲得當(dāng)前Matlab窗口的顯示/隱藏情況,,可以調(diào)用函數(shù):

int engGetVisible(Engine *ep, bool *value);

參數(shù)ep為打開的Matlab引擎指針,Value為用來保存顯示/隱藏情況的變量(采用指針方式傳遞),。

函數(shù)返回值為0表示獲取成功,,為1表示有錯(cuò)誤發(fā)生。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多