find()
函数返回元素非零的索引。我试着用不同的数组的大小但都给出错误:Matlab:对find()函数的困惑
In an assignment A(I) = B, the number of elements in B and I must be the same.
我很困惑,因为当数组大小相同,还是我得到这个错误。
这仅仅是明白什么地方出了错: 让,
例1:同一阵列尺寸
A = [20;21;3;45;5;19;1;8;2;1];
B = A;
for i =1:length(B)
pos(i) = find(A == B(i));
end
我应该拿pos = [1,2,3,4,5,6,7,8,9,10]
。但循环退出i = 7
后,给予`POS = [1,2,3,4,5,6]”
例2:异种数组大小
C = [20;1;10;3];
for i =1:length(C)
pos(i) = find(A == C(i));
end
有人可以请解释什么是错的我的理解和我如何使用A和B的相同和不同数组长度的说明?谢谢。
阅读错误:问题与作业有关。 'find()'返回一个数组,并且将*赋给一个标量'pos(i)'。除非有'A == B(i)'的单个元素为真,否则你肯定会有错误。 –