如何根据第二个矩阵(子)中的列值从父矩阵中提取行

时间:2018-03-21 08:35:49

标签: matlab matrix

我有2个矩阵:父矩阵(19564 X 5)和子矩阵(3913 X 3)(父矩阵)。子矩阵中的3个列和父矩阵中的前3个列是x,y和z坐标。

Parent= [x,y,z,A,B]
Child= [x,y,z]

我需要从子矩阵中的x,y,z坐标对应的父矩阵中提取第4和第5列(A和B)。

我尝试在ismember中使用MATLAB功能,但是它执行了相同的搜索,但我没有获得所需的输出。

作为输出,我需要一个3913 X 5矩阵,其前3个cols与子矩阵完全相同,然后是2个额外的cols(A和B)来自父矩阵。

1 个答案:

答案 0 :(得分:1)

您需要ismember并使用rows标记来匹配两个矩阵中的xyz坐标,然后使用其结果从Parent矩阵中提取所需的行。

out = Parent(ismember(Parent(:,1:3), Child, 'rows'), :);