matlab版本R2014b
最近運行一個使用svmtrain的程序,出現以下錯誤:
這是因為是在設定路徑里面沒有libsvm。辛虧有一位師姐的電腦里面有libsvm的包,我直接用了,這樣就不需要下載了。
圖示:
打開后文件夾后里面包含:
那么問題是:我們在MATLAB中怎么把這個包添加到路徑中呢:
解決辦法(已有libsvm工具包,英文版MATLAB):
1.點擊Matlab左上角的file,選擇set path
2.在彈出的選項框中,選擇第二個選項And with Subfolders
3.找到你的libsvm文件夾,點確定
4.點擊save,關閉set path
(中文版MATLAB)
1.點擊Matlab左上角的主頁,選擇設置路徑
2.在彈出的選項框中,選擇第二個選項:添加並包含子文件夾
3.找到你放的libsvm文件夾(放在哪里無所謂),點確定
4.點擊保存,再點擊關閉該窗口
這樣就解決了。
解決辦法2(沒有libsvm工具):這是參考別的博客的,看着挺麻煩的,大家最好有一個縣城的libsvm包。直接設置路徑就好了。
1、下載libsvm包,鏈接為:https://www.csie.ntu.edu.tw/~cjlin/libsvmtools/
2、使用解決辦法1中的步驟設置路徑
3、編譯
3.1、在matlab命令行中輸入mex -setup -v 查看一下電腦中有什么編譯器。
3.2、若是能找到c++編譯器,可直接嘗試在命令行窗口輸入make,執行make.m程序進行編譯,完成后出現4個后綴為.mexw64文件,即為安裝成功。若出現報錯,見步驟4。
3.3、若沒能找到C++編譯器,見步驟5。
4、3.2編譯報錯解決方法
4.1、Win10系統下使用libsvm,需要將make.m文件下的CFLAGS 替換成COMPFLAGS****。
4.2、在操作了4.1后仍然報錯,錯誤提示為svm相關文件在對應路徑找不到,把libsvm包里面的相應文件copy到對應位置即可。
5、3.3中的問題解決方法為:
5.1、下載tdm-gcc,網址為:http://tdm-gcc.tdragon.net/download。注意,下載對應自己電腦位數的裝載程序,否則可能在安裝的時候會報錯。
5.2、裝載tdm-gcc,在系統環境變量中添加該程序的安裝路徑
5.3、在matlab命令行中輸入:setenv(‘MW_MINGW64_LOC’,folder),folder為TDM-GCC的安裝位置,要加單引號。此時mex可以正常使用,不然重啟matlab即可。
5.4、按照操作3.2步操作即可
第5步操作若還有疑問,可參看網站