How to find column and row indexes of items that are +-inf or Nan ?
4 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
tci27
el 18 de Jul. de 2013
Respondida: rui gao
el 25 de Nov. de 2018
Hello
I have a very large matrix X where some elements can be -+inf or Nan. Currently I loop over all elements, check each one and handle it. It is taking forever. How can I easily find the [row,col] coordinates of such items ? I tried fiddling with isfinite(X) but in vain
Thanks much for any help
0 comentarios
Respuesta aceptada
Azzi Abdelmalek
el 18 de Jul. de 2013
Editada: Azzi Abdelmalek
el 18 de Jul. de 2013
A=[inf 1 4 nan;4 -inf 2 nan]; % Example
[ii,jj]=find(isnan(A)| isinf(A))
You can also use logical indexing, which is faster
idx=isnan(A)| isinf(A)
Más respuestas (2)
Jos (10584)
el 18 de Jul. de 2013
Editada: Jan
el 18 de Jul. de 2013
Using ISFINITE is fine. You just have to negate the outcome
Here is a small example, showing all the steps:
M = [1 Inf 3 ; 11 12 NaN]
tf = isfinite(M)
tf = ~tf
[ri,ci] = find(tf)
which you can combine into a single line if you understand each step
[ri,ci] = find(~isfinite(M))
2 comentarios
rui gao
el 25 de Nov. de 2018
Hi. If I need omit these elements (inf) to calculate the variance, how to achieve it?
0 comentarios
Ver también
Categorías
Más información sobre Numeric Types en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!