我有三个矩阵,A
是 2 行 3 列,B
是 2 行 5 列,Index
是 3 行 5 列。
A = [1,3,5;2,4,6];
B = [5,3,3,5,3;6,4,4,6,4];
Index = logical([0,0,0,0,1;0,1,1,0,0;1,0,0,1,0]);
我试图确定B中的每个列向量是否与通过索引找到的A
中的正确列向量匹配。我的代码如下所示:
error = 0;
for i = 1:size(B,2)
if A(:,Index(:,i)) ~= B(:,i)
error = error + 1;
end
end
在这个循环结束时,
error
的值将为1,因为B
中的最后一列应该是[1;2]。我的问题是:B
和Index
非常大(长度为10^6),导致这个过程非常缓慢。有没有办法避免使用for循环或者我注定要这么做?