Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2009-09-23, 22:13   #1
Juicy
初级会员
 
注册日期: 2008-10-08
帖子: 24
声望力: 17
Juicy 正向着好的方向发展
默认 循环遇到的问题

code如下:

Test = cell(1,40);
V = cell(1,40);
L = zeros(1,40);
Accuracy = zeros(1,40);
for i = 1:40
for j = 2:39
Test_i = find(TestLabel(:)==i);
V_i = length(Test_i);
eval(['Test',num2str(i),' = Test_i ;']);
Test{i} = eval(['Test' num2str(i)]);
eval(['V',num2str(i),' = V_i ;']);
V{i} = eval(['V' num2str(i)]);
L(1) = V{1};
cTestLabel = knnclassify(TestFeature, TrainFeature, TrainLabel);
Accuracy(1) = sum(cTestLabel(1:V{1})==TestLabel(1:V{1}))./V{1};
L(j) = L(j-1) + V{j};
Accuracy(j) = sum(cTestLabel(L(j-1)+1:L(j))==TestLabel(L(j-1)+1:L(j)))./V{j};
end
end

前面运行的没有问题,V的结果是正确的。但运行到了L(j) 和Accuracy(j)时,总显示错误信息:??? In an assignment A(I) = B, the number of elements in B and
I must be the same.

在command window里逐步算L(2), L(3),...却不会有问题。

求救啊!!!:mad:
__________________
:ft:
Juicy 当前离线   回复时引用此帖
回复


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 08:01


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.