Ⅰ 安裝了libsvm,matlab自帶的svmtrain怎麼用
以下兩種方法,我已經親測可喚高用方法1:可以在其他朋友的電腦上進行編譯,編譯斗圓完後直接把libsvmread.mexw64、libsvmwrite.mexw64、svmpredict.mexw64、svmtrain.mexw64復制到你和銷尺自己的程序中即可運行。這種方法的弊端是不同的演算法程序中均需要復制一次。方法2:把編譯完後的libsvmread.mexw64、libsvmwrite.mexw64、svmpredict.mexw64、svmtrain.mexw64這幾個文件添加到F:\MATLAB2015aanzhuang\toolbox\libsvm-3.22\matlab下,即可
Ⅱ matlab中的mexa64文件
mex文件這是matlab下使用的一種特殊的函數封裝形式。這種函數一般是用C/C++語言編寫的,在使用的時候也像一個普通m文件一樣按照文梁啟件名調用,只是不可櫻羨能看到源碼。按照matlab的橡頌如調用順序規則,mex比m有更高的優先順序,即只會調用RmatAtoB.mexa64而不調用RmatAtoB.m。
只不過,mexa64是linux64位下編譯和使用的版本,不能在windows下用。windows64位下編譯的是mexw64。
Ⅲ matlab怎麼調用mexw64文件
mex就是dll文件,w32和w64分別表示32位和告歲64位Windows下的dll。它們是二進制的,32代表32位系統生成的,64是64位系前友慶統生成的。模型轉變為c代碼,打慧握開看其實也沒有什麼意義,裡面很亂的。
Ⅳ 各種文件的所有格式類型,各用什麼軟體打開
1、Dwg格式的文件,可以用CAD軟體打開。
Ⅳ 錯誤使用 mex
如果mexw64文件在matlab搜索路徑上,裡面的函數就能用,但棚則改是要把mex的C語言源文件盯正編譯成mex文件當然需要編譯器,在windows上鏈判,2015b及以後版本可以添加免費的minGW-w64作為編譯器,體積也很小,從add-ons 裡面搜索添加即可。
Ⅵ 如何用MATLAB讀取.cc的文件
.cc一般是Unix系列操作系統下編寫的C++源代碼,你用記事本或者VS、VC6.0等都可以打開的,基本差不多,看庫函數了;
Mexw64是上面C++原碼編譯後的動態鏈接庫,這神帆個沒法看;
可能是你的游禪雹Matlab版本太低或者太高導致mexw64無法讀取,襲檔你琢磨下版本和你的系統位數,一般編譯好後都可以直接運行的
另外一種解決辦法就是你把.cc源文件搞懂了,在Win系統下自己寫、編譯成動態鏈接庫使用。
暫時沒想到,希望能幫到你。
Ⅶ 怎樣用Matlab調用已有的C語言程序
方法/步驟
准備好C語言程序,一般情況下要清楚C語言的入口函數,比如,如下的C語言函數:
ntuple_list linedetect(image_double image)
上述C語言函數中,linedetect為函數名,ntuple_list為輸出,image為輸入。C語言的源文件包含".h"和".c"文件。如:linedetect.h文件和linedetect.c文件。
編寫游鄭mexfunction函數。mexfunction函數為C語言與MATLAB語言的介面函數。調用實局磨世例在mylinedetect.c文件中,文件內容如下:
#include "mex.h"
#include "matrix.h"
#include "linedetect.h"
#include "string.h"
void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])
{
int M;
int N;
double * pImg;
ntuple_list p;
struct image_double_s img_s;
if(nrhs==0)
{
mexPrintf("error input\n");
return;
}
M = mxGetM(prhs[0]);
N = mxGetN(prhs[0]);
pImg = mxGetPr(prhs[0]);
img_s.data = pImg;
img_s.xsize = M;
img_s.ysize = N;
p=lsd(&img_s);
plhs[1] = mxCreateDoubleMatrix(1,3,mxREAL);
*(mxGetPr(plhs[1])+0) = p->size;
*(mxGetPr(plhs[1])+1) = p->max_size;
*(mxGetPr(plhs[1])+2) = p->dim;
plhs[0] = mxCreateDoubleMatrix(p->dim,p->max_size,mxREAL);
memcpy(mxGetPr(plhs[0]),p->values,(p->max_size)*(p->dim)*sizeof(double));
}
在MATLAB中調用mex指令編譯桐肢相關文件,將C語言編譯為MEX文件,如下所示。
mex mylinedetect.c linedetect.c
編譯完成後,生成mylinedetect.mexw32或mylinedetect.mexw64文件,此文件即mex文件,用於MATLAB與C語言介面函數
編譯完成之後,編寫MATLAB函數,調用MEX文件。如下所示。
load trees;
%以MEX文件的形式調用編譯完成的C語言函數
[o1,o2]=mylinedetect(double(X).');
......
輸出結果,上述linedetect函數完成圖像中直線檢測功能,帶入MATLAB中調用後,形成如下結果。
Ⅷ Python可以調用MATLAB的.m文件,那麼Python怎麼通過MATLAB調用.mexw64
Vim,Python,Matlab之間有抄6=3*2中關系。我們這里只說,vim調Python, vim調matlab, python調matlab三種情況。vim可以編輯.py,和.m文件,也有語法高亮。如果能在編輯完文檔後按個什麼鍵,就能執行程序是在好不過的了。matlab強是強在科學計算,矩陣計算,但是它的數據結構很單一,字元串處理上稍顯不足。因此python調用matlab的情況也是有可能的襲。python畢竟是一樣很強大的語言。(官網上通篇英語,確有兩個漢字「下載」)!
1. Vim調用Python
從最簡單的說如枝吧。vim執行python代碼,極其簡單。
:py+{python代碼},執行python2的代碼。(+與{}不知用輸入)
:py3+{python代碼},執行python3的代碼。(+與{}不用輸入)這種方式適合道寫只有一行的代碼,也非常適合在編寫vim插渣此敏件時引用python代碼。
:pyfile+{xxx.py}, 執行python的代碼,代碼寫扒搏在文件中。(+與{}不用輸入)
:py3file+{xxx.py}, 執行python3的代碼。(+與{}不用輸入)
Ⅸ 怎樣用Matlab調用已有的C語言程序
1.准備好C語言程拿旅輪序,清楚C語言的入口函數
2.編寫mexfunction函數。mexfunction函數為C語言與MATLAB語言的介面函數。調用實例在mylinedetect.c文件中鎮咐.在MATLAB中調用mex指令編譯相關文件,將C語言編譯為MEX文件。
3.編譯完成後,生成mylinedetect.mexw32或mylinedetect.mexw64文件,此文件即mex文件,用於MATLAB與C語言介面函數.
4.編譯完成之後,編寫MATLAB函數,調用MEX文件。以MEX文件的形式調用編譯完成的C語言函數[o1,o2]=mylinedetect(double(X).');......
5.輸出結果,上述linedetect函數完成圖像中直線消信檢測功能,帶入MATLAB中調用後形成結果。
Ⅹ .Mex是什麼格式的文件如何打開
MEX文件是一種「可在matlab環境中調用的C(或fortran)語言衍生程序」。選自《精通Matlab6.5版》,第22章
「應用程序介面API」page531。
也就是說,MEX文件的
源碼
文件鋒歲亮是由C或Fortran語言編寫的,後經matlab
編譯器
處理而生成的二進制文件;它可以被matlab
解釋器
自動裝載並銀寬執行的
動態鏈接
程雀純序,這種文件在windows下是ddl文件。
俺個人的理解:mex是matlab與C之間的橋梁。