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

32 views (last 30 days)
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

ha ha
ha ha on 20 Mar 2018
Thank @Stephen Cobeldick
A(any(isinf(A),2),:) = []

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
Stephen23
Stephen23 on 20 Mar 2018
Edited: Stephen23 on 13 Apr 2020
Logical indexing on one line:
A(any(isinf(A),2),:) = []
Birdman
Birdman on 20 Mar 2018
This is a very old answer of mine. Now I won't do that. :)

Sign in to comment.


LU Chongkai
LU Chongkai on 12 Apr 2020
Here is a way that don't change the original matrix:
B = A(any(~isinf(A),2),:)

Tags

No tags entered yet.

Community Treasure Hunt

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

Start Hunting!