ubuntu12.04下的matlab安裝請參照:
1.編寫mysin.m
[cpp]view plain
copy
function z = mysin(x)
z = sin(x);
end
2.編譯libmysin.so
在matlab中開啟mysin.m檔案所在的路徑,然後在matlab命令列中輸入如下命令:
[cpp]view plain
copy
mcc -w cpplib:libmysin -t link:lib mysin -c
其中libmysin指的是生成的動態鏈結庫的名字,mysin是matlab檔名。
3.編寫cpp檔案呼叫mysin,檔名為mainsin.cpp,和mysin.m在同一路徑下
[cpp]view plain
copy
#include "mclmcrrt.h"
#include "mclmcr.h"
#include "mclcppclass.h"
#include "matrix.h"
#include
#include "libmysin.h"
int main(void)
// 為變數分配記憶體空間,可以查幫助mwarray
mwarray mwa(1, 1, mxdouble_class); // 1,1表示矩陣的大小(所有maltab只有一種變數,就是矩陣,為了和cpp變數接軌,設定成1*1的矩陣,mxdouble_class表示變數的精度)
mwarray mwb(1, 1, mxdouble_class);
mwa.setdata(&a, 1);
// using mysin,呼叫我們自己寫的函式
mysin(1, mwb, mwa);
// get data
b = mwb.get(1, 1);
printf("sin %f is %f\n",a, b);
// 後面是一些終止呼叫的程式
// terminate the lib
libmysinterminate();
// terminate mcr
return 0;
}
4.編寫makefile
[cpp]view plain
copy
libpath = -l/home/zk/matlab_test/mysin -l/usr/local/matlab/r2013b/runtime/glnxa64 -lmwmclmcrrt -lmysin
includepath = -i/usr/local/matlab/r2013b/extern/include/
ld_library_path = /home/zk/matlab_test/mysin:/usr/local/matlab/r2013b/runtime/glnxa64:$ld_library_path
export ld_library_path
mainsin.o:mainsin.cpp
g++ -c mainsin.cpp $(includepath)
clean:
rm -f *.o
libpath 中:
[cpp]view plain
copy
/home/zk/matlab_test/mysi
是我mysin.m檔案所在的路徑,編譯的libmysin.so動態庫所在的位置
[cpp]view plain
copy
/usr/local/matlab/r2013b/runtime/glnxa64
是我電腦中matlab安裝的路徑,matlab動態庫所在的位置
includepath也是matlab安裝的路徑,matlab標頭檔案所在的位置。
5.在終端執行make命令就可以看到結果啦
[cpp]view plain
copy
Windows下呼叫caffe的matlab介面
在我的這篇部落格windows caffe配置已經說了怎麼編譯了,這裡就略過了。編譯成功後,會得到如下圖所示檔案 matlab介面就在matcaffe資料夾裡。進入如下圖所示目錄,如果生成了caffe mexw64檔案,則說明matlab介面編譯成功了。1.先在系統環境變數 path 裡新增 d c...
模型化開發過程中要基本掌握的Matl
基於模型設計其實是一種設計方法,當然建模的軟體以及 生成工具也不是只有matlab simulink這一種,比如還有labview 以及etas公司的ascet等等。當然前者由於需要特定板卡支援,而且系統移植性不好,在基於模型的設計中用的較少,更多的被用於測試領域 後者一般用於汽車行業,其實更多的用...
微弱訊號檢測中四種降噪濾波方法的matlab實現
用matlab實現4種濾波降噪處理演算法,訊號為正弦訊號疊加上白雜訊,引數可自主定製。matlab clear all clc fs 300 time 128 t 0 1 fs time f1 1 t1 1 f1 y1 sin 2 pi f1 t figure plot t,y1 axis 0 4 ...