【发布时间】:2014-09-17 16:03:59
【问题描述】:
你可以在 MATLAB 中看到我的部分代码。当我运行它时,我收到此错误: 分配比非单件具有更多的非单件 rhs 维度 下标。 请帮我纠正它并知道它的原因。很多。
while Time < t_stop
for i4 = 1:x
for j4 = 1:y
for k4 = 1:z
% t1 has been defined in another place and updates in every cycle
t2 = find(t1 ~= -1); %t2 is not empty because t1 has non-(-1) elements
t3 = zeros(1,numel(t2));
for i5 = 1:numel(t2)
t3(i5) = t1(t2(i5));
end;
var1 = min(t3(:));
min_time(i4,j4,k4) = var1;
if numel(find(t1 == var1)) == 1
min_IND (i4,j4,k4) = find(t1 == var1);
else
Temp_find = find(t1 == var1);
min_IND (i4,j4,k4) = Temp_find(randi(numel(find(t1 == var1))));
end;
t1 = zeros(1,41)-1;
end;
end;
end;
Time=Time+1;
end;
【问题讨论】:
-
哪里出错了?你能在错误之前显示 whos 的输出吗?
-
你好。它出现在这一行:“ min_time(i4,j4,k4) = var1; "
-
好的。如果你把它放在这一行之前,'whos' 会输出什么?您将看到 var1 和 min_time 的大小,它们可能不一样,从而引发错误。
标签: matlab