Monday, July 19, 2010

mex function

這兩天想盡辦法讓matlab執行同檔名之m file

不料 m file裡面居然全是註解!

這樣最好可以執行啦!

沒辦法

於是只能從recompile方面著手

昨天寄信給MCALab作者後

今天他很客氣的叫我看清楚documentation^^”

所以我個別去下載CurvLab和RWT toolbox

因為裡面才有c source code

後來在matlab嘗試mex mrdwt.c

失敗, 它說MRDWT未定義

原本我以為是因為mex.h的檔案沒放在一起

後來威哥提醒我mex.h是matlab的檔案, 應該是有讀到

想想也是, 於是grep MRDWT * -l

得到mrdwt.c mrdwt_r.c

沒看到header檔, 我覺得怪怪

google許久, 嘗試許久, 突發奇想再看RWT的documentation

裡面提到compile.m

於是去看compile.m裡面的code

是類似mex mrdwt.c mrdwt_r.c

經嘗試可以成功!

原本我以為

兩個檔案已經沒有MRDWT這function

compile都不會過才是

卻沒想到

mrdwt_r.c就是在定義MRDWT阿!

之前明明看過類似的c編譯

居然沒想到matlab裡也是這樣 太糟糕了!

但又好爽!

看到曙光了!

ps: 編譯過程, matlab警告我gcc太新

原本想找舊的來試試

不過我也不會用

幸好先嘗試compile.m

結論: gcc太新沒關係的^^

No comments:

Post a Comment