Deleting rows of a matrix based on values from another matrix
26 views (last 30 days)
Show older comments
I have a m x 3 matrix A, and a nx1 matrix B. I need to remove those rows of A if either column 1 or 2 of the matrix equals any value in B.
0 Comments
Accepted Answer
Johan
on 8 Jul 2022
A = randi(5,5,3)
B = randi(5,2,1)
% Find all the row where col 1 to 2 of A have a value in B
mask = any(ismember(A(:,1:2),B),2)
A(mask,:) = [] % delete the rows of A according to the mask
0 Comments
More Answers (1)
Kritarth Sinha
on 8 Jul 2022
Edited: Kritarth Sinha
on 8 Jul 2022
Hello Hari,
You can simply use nested loops and for each value in column 1 or 2,you can check that is present in matrix B and do it accordingly.
Hope this will help.
0 Comments
See Also
Categories
Find more on Loops and Conditional Statements in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!