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

7 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),:)

Categories

Find more on Performance and Memory in Help Center and File Exchange

Tags

No tags entered yet.

Community Treasure Hunt

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

Start Hunting!