日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Matlab错误:Y must be a vector or a character array

發布時間:2025/3/15 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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能否使用:
在命令窗中輸入以下命令:

>> [heart_scale_label, heart_scale_inst] = libsvmread('heart_scale'); >> model = libsvmtrain(heart_scale_weight, heart_scale_label, heart_scale_inst, '-c 1'); >> [predict_label, accuracy, dec_values] = libsvmpredict(heart_scale_label, heart_scale_inst, model);

如果配置成功的話,會顯示一下內容:

* 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的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。