"Or" statement and "not equal to" signal

2 views (last 30 days)
Good night!
I have a matrix (I will give as an example M) with three columns and N rows, where M(:,1) and M(:,2) varies between 1 and 4.
M=[ 1 2 9
2 3 6
3 4 5
4 4 3
2 3 8];
I want to rewritte M removing the rows where M(:,1) or M(:,2) are different from 4. I tried :
if(M(:,1)~=4)|(M(:,2)~=4)
m=M;
end
I would like that my final matrix would be:
m=[1 2 9
2 3 6
2 3 8];
Unfortunatelly, my code is not given the desired result.
Hope you can help me!

Accepted Answer

Delprat Sebastien
Delprat Sebastien on 14 Apr 2020
% find rows that does not contains 4 in col 1 & 2
rowOk=(M(:,1)~=4) & (M(:,2)~=4)
% Use logical indexing to keep these row
m=M(rowOk,:)

More Answers (0)

Community Treasure Hunt

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

Start Hunting!