在VC 中呼叫matlab檔案方法

2021-03-18 13:52:50 字數 1606 閱讀 4630

一、基於mcc 命令列方式實現編譯過程的方法

前期準備:

1)程式設計環境

作業系統:windows xp;開發工具:visual c++ 2008 ,matlab r2011a;注意:

安裝時,要先裝visual c++ 2008 後裝matlabr2008b,因為matlab r2008b 要用到visual c++ 2008 中的.*** 框架。

2)配置編譯器

使用mbuild -setup 和mex -setup 兩個命令對編譯器進行配置, 兩個命令均選擇microsoft visual c++2008(視情況而定)。

3)設定標頭檔案和庫檔案的路徑

在visual c++ 2008 中選擇 tools - options – projects and solutions - vc directories;

在include files 中新增如下路徑:

matlab路徑\extern\include 和存放生成後lib和dll的檔案路徑;

在library files 中新增如下路徑:

matlab路徑\extern\lib\win32\microsoft 和存放生成後lib和dll的檔案路徑

4)設定環境變數

我的電腦-屬性-高階-環境變數-系統變數-path中新增matlab生成庫檔案的路徑

可以根據matlab 安裝實際情況輸入標頭檔案和庫檔案的路徑。

配置:1. 首先在matlab中建立「.m」檔案

例如:function a = addmatrix(a1,a2)

a = a1 + a2;

figure;imshow(mat2gray(a));

title('加法結果顯示');

eturn

儲存為addmatrix.m。

function m = multiplymatrix(a1, a2)

m = a1 * a2;

figure;imshow(mat2gray(m));

title('乘法結果顯示');

return

儲存為multiplymatrix.m。

2. 在matlab 命令視窗用如下命令編譯addmatrix.m和multiplymatrix.

m,生成.dll檔案和呼叫.dll所需要的相關檔案,如.

h 檔案等:

例如:mcc -w cpplib:生成lib的名稱 -t link:lib 自定義檔案(1).m 自定義檔案(2).m –v

3.在專案屬性出加入matlab原有和新生成的lib庫

4.在需要編譯的檔案中加入:

#pragma once

//包含相應的標頭檔案(視情況多新增)

#include

#include

#include "新生成的標頭檔案.h"

//實用相關網域名稱

using namespace std;

int main(int argc, char **argv)

*/ //matlab生成的庫函式初始化

if(!libmatrixpinitialize())

else

mclterminateapplication();

return 0;}

Matlab中m檔案的命名規則

matlab的.m檔案儲存的命名規則 1.檔名命名要用英文本元,第乙個字元不能是數字 下劃線呢?2.檔名不要取為matlab的乙個固有函式,m檔名的命名盡量不要是簡單的英文單詞,最好是由大小寫英文 數字 下劃線等組成。原因是簡單的單詞命名容易與matlab內部函式名同名,結果會出現一些莫名其妙的錯誤...

MATLAB在微積分中的應用

萬方資料 萬方資料 作者 甘松 作者單位 貴州師範大學數計學院,貴州,貴陽,550001 刊名 大觀週刊 英文刊名 daguan zhoukan 年,卷 期 2011 5 參考文獻 4條 1.劉衛國 陳昭平 張穎matlab程式設計與應用 2002 2.薛定宇 陳陽泉高等應用數學問題matlab求解...

第8章MATLAB在非線性系統中的應用

1 狀態反饋與極點配置 狀態反饋是指從狀態變數到控制端的反饋,如圖3所示。設原系統動態方程為 引入狀態反饋後,系統的動態方程為 圖3 狀態反饋 狀態反饋極點配置問題就是 通過狀態反饋矩陣k的選取,使閉環系統式 4.2 的極點,即的特徵值恰好處於所希望的一組給定閉環極點的位置上。線性定常系統可以用狀態...