青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

[轉(zhuǎn)載]在Visual C++中調(diào)用Matlab的其他方法

1. 利用Matlab引擎

Matlab引擎(Matlab engine)提供了一組 Matlab API 函數(shù),用戶不必關(guān)心這個(gè)Matlab引擎是如何實(shí)現(xiàn)的,只需要調(diào)用這些函數(shù)即可。正是通過(guò)這些 API 函數(shù),實(shí)現(xiàn)了應(yīng)用程序進(jìn)程之間的傳遞數(shù)據(jù),從而達(dá)到兩者之間的良好結(jié)合。
Matlab引擎應(yīng)用程序的實(shí)質(zhì)是把Matlab作為一個(gè)引擎,允許從自己的Visual C++程序調(diào)用這個(gè)引擎。在運(yùn)行時(shí),引擎作為一個(gè)進(jìn)程單獨(dú)運(yùn)行,此時(shí)Visual C++程序也作為一個(gè)進(jìn)程單獨(dú)運(yùn)行,兩者可以通過(guò)進(jìn)程間的通信機(jī)制進(jìn)行交互。
Matlab引擎采用客戶和服務(wù)器計(jì)算模式。在運(yùn)行中,Visual C++的C語(yǔ)言或C++語(yǔ)言的程序作為前端客戶機(jī),它向Matlab引擎?zhèn)鬟f命令和數(shù)據(jù)信息,并從Matlab引擎接收數(shù)據(jù)信息,Matlab引擎提供了下列幾個(gè)函數(shù):
engOpen:?jiǎn)?dòng)Matlab引擎
engClose:關(guān)閉Matlab引擎
engGetArray:從Matlab引擎中獲得一個(gè)Matlab矩陣,用于數(shù)據(jù)交換
engPutArray:從應(yīng)用程序向Matlab引擎發(fā)送一個(gè)Matlab矩陣,用于數(shù)據(jù)交換
engEvalString:執(zhí)行一個(gè)Matlab命令
engOutputBuffer:創(chuàng)建一個(gè)用于存儲(chǔ)Matlab文本輸出的字符緩沖區(qū)

庫(kù)文件的制作:
程序在Visual C++下編譯,還需要用到相應(yīng)的導(dǎo)入庫(kù)libeng.lib,libmx.lib,libmat.lib和matlab.lib這幾個(gè)動(dòng)態(tài)鏈接庫(kù)。在Matlab的安裝目錄Matlab\extern\include下,有以下幾個(gè)定義文件:libeng.def,libmx.def,libmat.def,matlab.def。以libeng.def為例,用如下的命令生成導(dǎo)入庫(kù):
C:\MATLABR11\extern\include>lib/def:libeng.def /out:libeng.lib /machine:ix86
其中C:\MATLABR11為本地機(jī)器的Matlab安裝目錄,/out:libeng.lib指定的是輸出文件,/machine:ix86是指所用的機(jī)器環(huán)境,這里的ix86是指支持Intel的處理器。
同樣,生成libmx.lib,libmat.lib以及matlab.lib這幾個(gè)相應(yīng)的庫(kù)文件。

庫(kù)文件的加入:
把所生成的庫(kù)文件加入到VC工程的Project->Settings->link->Object/Library Modules文本框中即可。

2. 利用Matlab自身的編譯器調(diào)用工具箱中的函數(shù)

Matlab的編譯器可將Matlab的M文件轉(zhuǎn)換為C或C++的源代碼,以便產(chǎn)生完全脫離Matlab運(yùn)行環(huán)境的獨(dú)立的運(yùn)用程序,但Matlab本身的資料說(shuō)明編譯器如用來(lái)建立獨(dú)立的運(yùn)用程序,就不能調(diào)用Matlab工具箱中的函數(shù),這非常不利于實(shí)現(xiàn)一些特殊的算法。然而工具箱中的函數(shù)既然是M文件,那么就一定可以用編譯器來(lái)編譯,以提供如Visual C++的調(diào)用函數(shù),但是編譯器只能編譯一個(gè)獨(dú)立的M文件,也就是說(shuō)這個(gè) M文件必須不依賴于其他的M文件。如果這個(gè)M文件中又調(diào)用了其他的M文件,那么可以將被調(diào)用的M文件拷貝到調(diào)用M文件的相應(yīng)位置,并做適當(dāng)?shù)母膭?dòng),這樣就可以用編譯器來(lái)編譯。需要注意的是,編譯器不支持圖形函數(shù),所以M文件中如果有圖形函數(shù),則需要將其注釋掉。

3. 利用Matcom實(shí)現(xiàn)Visual C++和Matlab的結(jié)合

Matcom4.5是由MathTools公司推出的一個(gè)功能強(qiáng)大的軟件(可在www.mathtools.com處獲得,也可以在國(guó)內(nèi)一些數(shù)學(xué)專業(yè)網(wǎng)站得到),它可以將Matlab的.M文件轉(zhuǎn)換成具有相同功能的C++代碼,這樣既能夠保持Matlab的優(yōu)良算法,同時(shí)也利用了C++的高效率。也就是說(shuō),我們可以在Visual C++編譯環(huán)境下創(chuàng)建友好的用戶界面,而把一些較為底層的工作,如數(shù)據(jù)處理、仿真等交給Matlab來(lái)完成。
用Matcom來(lái)編譯Matlab的.M文件的具體過(guò)程是這樣的:
先把M文件按照與Matcom的cpp庫(kù)的對(duì)應(yīng)關(guān)系翻譯為cpp源代碼,然后用對(duì)應(yīng)版本的C編譯器將.cpp文件編譯成相應(yīng)的.dll或.exe文件。因此在第一次運(yùn)行時(shí),要指定所用的C編譯器的路徑,否則將無(wú)法編譯。指定好的編譯信息會(huì)寫在Matcom\bin\matcom.ini文件中。在安裝Matcom時(shí),它會(huì)自動(dòng)尋找編譯器并將其信息寫入matcom.ini文件。此外,由于Matcom4.5版本采用了TeeChart3.0 OCX控件,因此它能夠支持圖形操作。

4. 利用Visual C++進(jìn)行外部調(diào)用

利用Visual C++進(jìn)行外部調(diào)用的基本思路是這樣的:首先把,M文件加入到一段C程序中去,然后通過(guò)Matlab中的mex批處理文件將該C文件生成.exe文件,再通過(guò)Visual C++的外部調(diào)用的函數(shù)ShellExecute()或WinExec()實(shí)現(xiàn)外部調(diào)用。
mex批處理文件的調(diào)用格式如下:
mex –f msvc60engmatopts.bat *.c
利用Visual C++的ShellExecute()函數(shù)調(diào)用的方法如下:
ShellExecute()函數(shù)是在應(yīng)用程序中運(yùn)行其他函數(shù)的,該函數(shù)既可以運(yùn)行可執(zhí)行文件,也可以使用相應(yīng)的可執(zhí)行文件打開數(shù)據(jù)文件。它的函數(shù)原形是這樣的:
HINSTANCE ShellExecute (
HWND hwnd, //父句柄窗口
LPCTSTR lpVerb, //包含所要執(zhí)行的操作的字符串
LPCTSTR lpFile, //文件名
LPCTSTR lpParameters, //包含可執(zhí)行文件的參數(shù)的字符串
LPCTSTR lpDirectory, //默認(rèn)路徑
INT nShowCmd //所創(chuàng)建進(jìn)程的顯示方法
);
其中,參數(shù)lpVerb可以是“edit”、“find”、“open”、“print”、“explore”或“properties”

posted on 2007-04-06 15:48 ashura 閱讀(4916) 評(píng)論(1)  編輯 收藏 引用

評(píng)論

# re: [轉(zhuǎn)載]在Visual C++中調(diào)用Matlab的其他方法[未登錄](méi) 2007-10-10 19:30 Jeffrey

文章很好。請(qǐng)問(wèn)能不能直接通過(guò)COM接口調(diào)用matlab中的數(shù)學(xué)函數(shù)。請(qǐng)郵件回復(fù)szkwkd@126.com,有代碼示例最好。謝謝。  回復(fù)  更多評(píng)論   


只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


<2025年12月>
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910

導(dǎo)航

統(tǒng)計(jì)

常用鏈接

留言簿(2)

隨筆分類

隨筆檔案

文章分類

文章檔案

搜索

最新評(píng)論

閱讀排行榜

評(píng)論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲视频在线观看视频| 亚洲香蕉在线观看| 欧美成人视屏| 一本一本久久a久久精品综合妖精 一本一本久久a久久精品综合麻豆 | 另类天堂av| 久久青草欧美一区二区三区| 在线电影院国产精品| 欧美激情一区三区| 欧美日本亚洲| 欧美一二三视频| 久久久久国色av免费观看性色| 亚洲大片免费看| 亚洲精品中文字幕在线| 国产精品高清在线| 久久精品在线视频| 欧美成人午夜77777| 亚洲综合电影一区二区三区| 性一交一乱一区二区洋洋av| 永久久久久久| 亚洲图片欧洲图片av| 黄色精品一二区| 亚洲精品资源| 一区二区在线免费观看| 亚洲三级视频| 韩国v欧美v日本v亚洲v| 亚洲国产va精品久久久不卡综合| 欧美午夜精品久久久久久浪潮 | 亚洲一区在线播放| 久久精品亚洲一区二区三区浴池| 亚洲人成在线观看| 性色av一区二区怡红| 亚洲精品免费在线播放| 亚洲欧美亚洲| 一区二区三区精品视频| 久久精品国产欧美激情| 中文日韩欧美| 免费亚洲电影| 久久久国际精品| 国产精品久久久久毛片大屁完整版 | 亚洲一区久久久| 久久亚洲免费| 久久精品欧美日韩精品| 欧美视频在线一区| 亚洲成人资源| 在线日韩中文字幕| 欧美一区二区三区免费在线看 | 精品成人一区| 亚洲欧美激情视频在线观看一区二区三区| 亚洲国产影院| 开心色5月久久精品| 久久丁香综合五月国产三级网站| 欧美日韩国产一区二区三区地区| 免费国产一区二区| 黑人一区二区| 性欧美暴力猛交另类hd| 午夜精品久久久久久久久久久久| 欧美精品在线观看| 亚洲第一成人在线| 亚洲国产成人久久综合一区| 欧美一区二区三区在线免费观看| 亚洲欧美国产视频| 国产精品久久久久一区二区| a4yy欧美一区二区三区| 亚洲视频图片小说| 欧美特黄一级大片| 中文网丁香综合网| 亚洲欧美国产另类| 国产区欧美区日韩区| 亚洲欧美影音先锋| 久久看片网站| 亚洲成人直播| 欧美福利视频在线| 亚洲美女av在线播放| 99精品欧美一区| 欧美色精品在线视频| 99在线精品视频| 先锋资源久久| 一区二区三区在线免费视频| 久久久www成人免费毛片麻豆| 另类av导航| 亚洲免费观看高清完整版在线观看| 欧美国产精品v| 亚洲色图综合久久| 久久国产一区| 亚洲人成在线播放| 国产精品成人观看视频免费| 亚洲一级影院| 卡通动漫国产精品| 一区二区三区视频观看| 国产精品一级| 免费亚洲婷婷| 国产精品99久久久久久久久| 久久久国产一区二区三区| 亚洲国产精品v| 欧美性大战久久久久久久| 欧美一区国产在线| 91久久综合| 久久精品在这里| 日韩一二三在线视频播| 国产欧美一区二区精品性色| 欧美a级一区二区| 亚洲一区二区精品在线观看| 欧美77777| 午夜精品久久久久久久久久久久| 激情欧美一区| 欧美婷婷六月丁香综合色| 久久精品夜色噜噜亚洲aⅴ| 亚洲欧洲免费视频| 久久噜噜亚洲综合| 亚洲欧美精品一区| 最新精品在线| 黑人操亚洲美女惩罚| 欧美体内谢she精2性欧美| 久久免费偷拍视频| 亚洲欧美国内爽妇网| 亚洲人成久久| 欧美激情亚洲综合一区| 欧美一区二区三区四区在线| 日韩视频中文字幕| 今天的高清视频免费播放成人| 欧美三级午夜理伦三级中视频| 久久一区亚洲| 欧美一区二区三区免费视| 在线亚洲高清视频| 亚洲九九精品| 亚洲福利av| 欧美成人69av| 老司机成人在线视频| 欧美在线视频在线播放完整版免费观看 | 亚洲中无吗在线| 99精品视频免费| 亚洲激情av| 亚洲国产中文字幕在线观看| 国产视频一区二区在线观看| 国产精品极品美女粉嫩高清在线| 欧美肥婆bbw| 欧美成人午夜激情在线| 久久在线视频在线| 久久九九久久九九| 久久国产精品亚洲va麻豆| 亚洲欧美日韩国产综合| 亚洲欧美www| 亚洲在线视频| 亚洲欧美激情视频| 亚洲欧美日韩国产一区| 亚洲在线成人| 欧美亚洲免费高清在线观看| 午夜一级久久| 久久福利资源站| 久久综合网hezyo| 免费观看欧美在线视频的网站| 久久夜色精品一区| 欧美肥婆在线| 欧美三级第一页| 国产精品嫩草99av在线| 国产精品影音先锋| 红桃视频国产精品| 亚洲激情影院| 亚洲影院色无极综合| 先锋影音国产一区| 老司机精品导航| 亚洲三级视频在线观看| 中文av字幕一区| 欧美一区中文字幕| 欧美大胆成人| 国产精品久久77777| 韩国一区二区三区美女美女秀| 亚洲国产精品久久久久| 亚洲最新视频在线播放| 欧美亚洲一区二区三区| 免费影视亚洲| 日韩一区二区免费看| 欧美一区二区三区视频在线观看| 美日韩精品免费| 国产精品免费观看视频| 亚洲第一福利社区| 亚洲午夜电影网| 麻豆成人小视频| 一本久久a久久免费精品不卡| 欧美一区二区三区免费视频| 欧美高清视频一二三区| 国产精品一区免费视频| 亚洲片在线观看| 欧美一区二区在线| 亚洲国产精品一区二区尤物区| 在线视频精品一区| 蜜桃av一区二区在线观看| 国产精品国产三级国产普通话三级| 国内视频一区| 亚洲图片自拍偷拍| 欧美大片在线观看一区| 亚洲欧美成人网| 欧美va亚洲va国产综合| 国产自产精品| 亚洲综合三区| 亚洲精品欧美| 久久精品国产亚洲5555| 国产精品乱码一区二三区小蝌蚪| 亚洲国产成人精品视频| 久久久久久穴|