"Or" statement and "not equal to" signal

6 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)

Categories

Find more on MATLAB 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!