Delete rows for specific elements from a matrix

Hi
I'm trying to delete all rows if the second and third element is equal to zero. My if-else sentence doesn't work. Could you help me?
f = [2 5 4 3 2; 4 9 2 1 9; 2 0 0 0 0; 4 0 0 0 3; 9 7 12 14 42];
for i = 1:length(f)
if (f(i,2) == 0) && (f(i,3) == 0)
f(i,:) = [];
end
end
A = f; % Want the final result of A to look like this: A = [2 5 4 3 2; 4 9 2 1 9; 9 7 12 14 42]

댓글 수: 1

The problem is with for i = 1:length(f), because f(i,:) = [] will decrease the length of f

댓글을 달려면 로그인하십시오.

 채택된 답변

Azzi Abdelmalek
Azzi Abdelmalek 2013년 9월 20일
편집: Azzi Abdelmalek 2013년 9월 20일

0 개 추천

f = [2 5 4 3 2; 4 9 2 1 9; 2 0 0 0 0; 4 0 0 0 3; 9 7 12 14 42];
f(all(~f(:,2:3),2),:)=[]
%or
f=f(any(f(:,2:3),2),:)

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Shifting and Sorting Matrices에 대해 자세히 알아보기

질문:

2013년 9월 20일

Community Treasure Hunt

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

Start Hunting!

Translated by