How to extract rows from a parent matrix based on column values from a second matrix (child)?

2 次查看(过去 30 天)
I have 2 matrices: Parent matrix (19564 X 5) and a child matrix (3913 X 3) (sub-matrix of parent). The 3 cols in child matrix and 1st 3 cols in parent matrix are x,y and z - coordinates.
Parent= [x,y,z,A,B]
Child= [x,y,z]
I need to extract 4th and 5th column (A and B) from parent matrix corresponding to x,y,z coordinates in child matrix.
I tried using _ ismember_ function in MATLAB, but it performs a col-wise search and I don't get the desired output.
As output, I need a 3913 X 5 matrix whose 1st 3 cols are exactly same as the child matrix and then 2 additional cols (A and B) from parent matrix.

采纳的回答

Nitika Kandhari
Nitika Kandhari 2018-3-21
out = Parent(ismember(Parent(:,1:3), Child, 'rows'), :);
is the solution I found from https://stackoverflow.com/questions/49401494/how-to-extract-rows-from-a-parent-matrix-based-on-column-values-from-a-second-ma Just in case someone else needs to perform a similar task.

更多回答(1 个)

KSSV
KSSV 2018-3-21
编辑:KSSV 2018-3-21
You can specify rows in ismember. It works along with rows also. Read the documentation properly.

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by