delete row in matrix if the row contain "Inf" value

Let's say:
A=[1 2 3 5
2 Inf Inf Inf ---->delete this row
3 1 7 5
9 Inf Inf Inf ---->delete this row
11 3 45 91 ]
Question: If i want to delete the row contain "Inf", how can I do that?
result_A=[1 2 3 5
3 1 7 5
11 3 45 91 ]

 Accepted Answer

More Answers (2)

Birdman
Birdman on 27 Nov 2017
Edited: Birdman on 27 Nov 2017
[r,c]=find(ismember(A,Inf));
A(r,:)=[]

2 Comments

Logical indexing on one line:
A(any(isinf(A),2),:) = []
This is a very old answer of mine. Now I won't do that. :)

Sign in to comment.

Here is a way that don't change the original matrix:
B = A(any(~isinf(A),2),:)

Categories

Tags

No tags entered yet.

Asked:

on 27 Nov 2017

Edited:

on 13 Apr 2020

Community Treasure Hunt

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

Start Hunting!