在循环结束时得到一个矩阵

时间:2017-02-08 13:18:10

标签: matlab for-loop matrix

如何在循环结束时在矩阵中获取所有C?

for i=1:size(A,1)
   for j=1:size(B,1)
       if B(j,3)==A(i,3)
       C=B(j,3);
       end
   end
end

1 个答案:

答案 0 :(得分:1)

要收集符合条件的所有C,您可以将它们附加到矩阵中:

C = [];
for i=1:size(A,1)
    for j=1:size(B,1)
        if B(j,3)==A(i,3)
            C = [C, B(j,3)];
        end
    end
 end

但是,如果我理解,您需要一个矩阵C,其中包含B(:,3)中所有A(:,3)的元素?

您可以执行

C = B(ismember(B(:,3), A(:,3)), 3);

例如,

X = [5 9 8];
Y = [1 2 3 4 5 6 7 8];
X(ismember(X,Y))

% ans =
%    [5 8]