楼主: bourn
4412 8

[问答] 【请问】为什么Matlab7.0的svm工具箱的程序放到work下可以用而使用toolbox路径出错呢 [推广有奖]

  • 2关注
  • 18粉丝

副教授

17%

还不是VIP/贵宾

-

威望
0
论坛币
1125 个
通用积分
0.4800
学术水平
9 点
热心指数
8 点
信用等级
5 点
经验
30894 点
帖子
421
精华
0
在线时间
1010 小时
注册时间
2009-10-3
最后登录
2021-8-14

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
把svm的里面的全部文件拷贝到work文件夹下,我的程序可以运行,而将svm拷贝到toolbox下然后用set path调用 ,就不能运行了,为什么呢?具体是ker取 linear可以运行,而 rbf 、poly则会出错。
  1. >> ker='rbf';
  2. e=0.01;
  3. C=100;      % 取100
  4. [nsv, alpha, b0] = svc(X,Y',ker,C) % svc.m 文件下载于网上
  5. Support Vector Classification
  6. _____________________________
  7. Constructing ...
  8. ??? Error using ==> mrdivide
  9. Matrix dimensions must agree.

  10. Error in ==> svkernel at 35
  11.         k = exp(-(u-v)*(u-v)'/(2*p1^2));

  12. Error in ==> svc at 34
  13.           H(i,j) = Y(i)*Y(j)*svkernel(ker,X(i,:),X(j,:));
复制代码



二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:matlab7 toolbox MATLAB atlab matla 程序 工具箱 文件夹 运行程序

沙发
aibieli731001 发表于 2012-3-1 11:31:07 |只看作者 |坛友微信交流群
是不是你在安装的时候出现了问题,建议重装matlab试试。

使用道具

藤椅
bourn 发表于 2012-3-1 11:38:59 |只看作者 |坛友微信交流群
aibieli731001 发表于 2012-3-1 11:31
是不是你在安装的时候出现了问题,建议重装matlab试试。
没有问题呢,装了快3年了,从来没出过问题哈。

使用道具

板凳
deanwj 发表于 2012-3-1 12:25:00 |只看作者 |坛友微信交流群
矩阵维数不一致,做矩阵运算时就报错

使用道具

报纸
bourn 发表于 2012-3-1 12:51:44 |只看作者 |坛友微信交流群
deanwj 发表于 2012-3-1 12:25
矩阵维数不一致,做矩阵运算时就报错
而ker='linear' 时可以运行呢,所以推断应该不是矩阵维数的问题啊。

使用道具

地板
deanwj 发表于 2012-3-2 10:49:55 |只看作者 |坛友微信交流群
最好能给出文献,给出代码,否则就是在猜谜

使用道具

7
bourn 发表于 2012-3-2 12:20:00 |只看作者 |坛友微信交流群
deanwj 发表于 2012-3-2 10:49
最好能给出文献,给出代码,否则就是在猜谜
复制代码
svm.rar (122.86 KB)
  1. >>  X = 2.*rand(100,2)-1;
  2. Y = sign(sin(X(:,1))+X(:,2));
  3. C=Inf;
  4.     ker='linear';
  5.     [nsv alpha bias] = svc(X,Y,ker,C)
  6. Support Vector Classification
  7. _____________________________
  8. Constructing ...
  9. Optimising ...
  10. ??? Invalid MEX-file 'C:\Program Files\MATLAB\R2010b\toolbox\svm\qp.dll': C:\Program Files\MATLAB\R2010b\toolbox\svm\qp.dll
  11. 不是有效的 Win32 应用程序。

  12. .

  13. Error in ==> svc at 60
  14.     [alpha lambda how] = qp(H, c, A, b, vlb, vub, x0, neqcstr);
复制代码

使用道具

8
ruoqi137 发表于 2016-2-13 08:58:24 |只看作者 |坛友微信交流群
你好,我也遇到了同样的问题,请问您最后是怎么解决的?

使用道具

9
matlab-007 发表于 2016-8-27 21:38:13 |只看作者 |坛友微信交流群
如果是Matlab安装光盘上的工具箱,重新执行安装程序,选中即可。如果是单独下载的工具箱,则需要把新的工具箱(以下假设工具箱名字为svm) 解压到toolbox目录下,然后用addpath或者pathtool把该工具箱的路径添加到matlab的搜索路径中,最后用which newtoolbox_command.m来检验是否可以访问。如果能够显示新设置的路径,则表明该工具箱可以使用了。具体请看工具箱自己代的 README文件。

1.1 举例:
要添加的工具箱为svm,则解压后,里边有一个目录svm,假设matlab安装在D:\Program Files\MATLAB\R2008a\toolbox\,将libsvm-mat-2.91-1目录 拷贝至D:\Program Files\MATLAB\R2008a\toolbox\,然后运行matlab,在命令窗口输入addpath D:\Program Files\MATLAB\R2008a\toolbox\libsvm-mat-2.91-1回车,来添加路径。然后在svm目录下,任意找一个m文件,以svm.h为例,在命令窗口中输 入which svm.h。如果显示出该文件路径,如 D:\Program Files\MATLAB\R2008a\toolbox\libsvm-mat-2.91-1\svm.h,则安装成功,当然也可以在命令窗口输入path来查看。



为了检验libsvm和matlab之间的接口是否已经配置完成,可以在matlab下执行以下命令:


load heart_scale.mat

model = svmtrain(heart_scale_label, heart_scale_inst, '-c 1 -g 2');


如果运行正常并生成了model这个结构体(其中保存了所有的支持向量及其系数),那么说明libsvm和matlab之间的接口已经完全配置成功。

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-6-19 06:49