对不起标题。我想不出更好的东西。
我有以下问题。
我有两个四列矩阵构建如下:
财产| X | Y | ž
两个矩阵具有不同的大小,因为矩阵1与矩阵2相比具有大量额外行。
我想做的是以下内容:
我需要创建一个第三个矩阵,它只包含那些(大矩阵)行(X,Y和Z列)与matrix2中的行相同(属性列总是不同)。
我尝试了一个if语句,但由于我的编程语法,它并没有真正解决。有人提示吗?
谢谢!
我试过这样的事情:(在这种情况下,A是更大的矩阵,我希望它的X,Y,Z位置的属性列与另一个矩阵B相同。我对MatLab语法很糟糕。
if (A(:,2) == B(:,2) and (A(:,3) == B(:,3) and (A(:,4) == B(:,4))
newArray(:,1) = A(:,1);
端
答案 0 :(得分:0)
使用ismember
和'rows'
选项查找所需的行,然后将其用作索引来构建结果:
ind = ismember(A(:,2:4), B(:,2:4), 'rows');
C = A(ind,:);
如果最后三列与A
的任意行匹配,我假设选择了B
行。