C C 下呼叫matlab函式操作說明

2022-07-28 02:15:10 字數 1686 閱讀 1197

1.matlab的安裝

連線:安裝32位版本的matlab(在目錄下bin資料夾中有兩個資料夾,選擇win32資料夾下的setup進行安裝)

2.matlab mex編譯器配置

安裝完matlab之後,需要設定對應的c++編譯器才能編譯.m檔案生成可供c++呼叫的庫檔案。開啟matlab,在命令列輸入:mex -setup,選擇已安裝的vc編譯器

我的matlab版本是r2010b,選擇的是[2] microsoft visual c++ 2008 express,然後一直選擇y直到看到done

然後繼續在命令列中輸入:mbuild -setup  ,按照上述類似的方式設定編譯器

假設存在乙個add.m的檔案需要編譯成庫檔案,

add.m檔案

function c=add(a,b)

c=a+b;

end使用命令編譯:mcc -w cpplib:libadd  -t link:lib add.m

成功編譯會在add.m的路徑下生成一些檔案:

如果出現錯誤,可能是編譯器配置錯誤,依次輸入一下兩行命令檢視配置檔案:

>> cd(prefdir)

>> edit compopts.bat

set vsinstalldir=  這裡如果是空值,需要將電腦中安裝的vc路徑寫到這裡

3.建立c++程式呼叫matlab函式

將前面生成的libadd.dll"、"libadd.h"和"libadd.lib"三個檔案拷貝到新建的vc工程中,並配置工程屬性,新增matlab安裝目錄下extern中include資料夾,我的是d:\matlab\extern\include

然後配置庫目錄:

新增d:\matlab\extern\lib\win32\microsoft這裡需要注意的是,該路徑下有" mclmcrrt.lib"檔案,是我們需要的。

最後配置link聯結器,新增:

libeng.lib

libmat.lib

libmex.lib

libmx.lib

mclmcrrt.lib

mclmcr.lib

libadd.lib(最後這乙個是add.m生成的)

下面的c++程式實現呼叫

結果:

MATLAB呼叫C C 函式的方法

已有 8167 次閱讀 2010 5 5 13 42 個人分類 遙感程式開發 系統分類 科研筆記 通過matlab將c c 函式編譯成mex函式,在matlab中就可以呼叫了。1,首先裝編譯器 matlab裡鍵入mex setup,選擇你要編譯c 的編譯器 2,寫c 函式 函式的形式必須是 void...

matlab練習程式(c c 呼叫matlab)

就我目前了解的c 呼叫matlab有兩種方法。第一種是通過matlab引擎呼叫,也就是這裡用到的方法。第二種是用matlab將m檔案編譯為相應的h lib dll檔案再加以呼叫。使用engine所用到的h和lib檔案基本在d program files matlab r2010b extern裡面,...

matlab呼叫c 函式

經常會遇到乙個問題,就是怎麼用matlab來呼叫已經寫好的c 下面就學習一下。首先要明白呼叫c 需要用到mex,他主要和matlab的主要介面,介面的主要入口為如下函式 void mexfunction int nlhs,mxarray plhs,int nrhs,const mxarray prh...