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

16 visualizzazioni (ultimi 30 giorni)
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 ]

Risposta accettata

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

Più risposte (2)

Birdman
Birdman il 27 Nov 2017
Modificato: Birdman il 27 Nov 2017
[r,c]=find(ismember(A,Inf));
A(r,:)=[]
  2 Commenti
Stephen23
Stephen23 il 20 Mar 2018
Modificato: Stephen23 il 13 Apr 2020
Logical indexing on one line:
A(any(isinf(A),2),:) = []
Birdman
Birdman il 20 Mar 2018
This is a very old answer of mine. Now I won't do that. :)

Accedi per commentare.


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

Tag

Non è stata ancora inserito alcun tag.

Community Treasure Hunt

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

Start Hunting!

Translated by