Matlab错误:Y must be a vector or a character array
原因:應該調用libsvm\matlab中的svmtrain,但是在matlab自帶的工具箱中也有svmtrain這個函數,matlab會跑去調用它自帶的函數。
解決辦法:
1、在setpath中可以把libsvm\matlab和libsvm\windows添加進來,或者置頂
2、把matlab自帶工具箱中的svmtrain改一個名字,svmtrain所在位置:your_matlab_ location\Matlab\toolbox\stats\stats
3、我遇到過這個問題兩次,第一次用上述的第二種方法解決了,結果過幾天又不行了,于是我在一篇關于libsvm配置的文章中看到可以去改libsvm中svmtrain的名字,于是有了如下方法:
修改libsvm\matlab中有關svmtrain的名字,如libsvmtrian,然后修改libsvm\windows中有關svmtrain的名字,和前一個一致就行。注意兩個子文件夾中的名字都要改。
測試svmtrain能否使用:
在命令窗中輸入以下命令:
如果配置成功的話,會顯示一下內容:
* optimization finished, #iter = 166 obj = -107.553365, rho = 0.449867 nSV = 131, nBSV = 103 Total nSV = 131 Accuracy = 86.2963% (233/270) (classification)附:
我在運行matlab >> [heart_scale_label, heart_scale_inst] = libsvmread('heart_scale');時,報錯說找不到heart_scale,這是因為heart_scale在上一級目錄中,復制到當前目錄就行了,很奇怪,不知道為啥別人都可以。
總結
以上是生活随笔為你收集整理的Matlab错误:Y must be a vector or a character array的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python格式化输出区别_python
- 下一篇: php h5微信公众号支付接口,微信公众