delete row in matrix if the row contain "Inf" value
Show older comments
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)
[r,c]=find(ismember(A,Inf));
A(r,:)=[]
2 Comments
Logical indexing on one line:
A(any(isinf(A),2),:) = []
Birdman
on 20 Mar 2018
This is a very old answer of mine. Now I won't do that. :)
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 Resizing and Reshaping Matrices 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!