Ignore NaN value when iterating

3 visualizaciones (últimos 30 días)
Jonathan Cheong
Jonathan Cheong el 21 de Mzo. de 2021
Editada: Ive J el 21 de Mzo. de 2021
Hello, say for example I would like to iterate each row, and ignore any NaN values in a matrix.
For example a 3x5 matrix (A):
[1 2 3 4 5 ]
[1,NaN,NaN,NaN,NaN]
[1 2 3 NaN,NaN]
I want the length of each row without NaN for iteration.
Hence the result will be:
[5]
[1]
[3]
for i = 1:size(A,1)
% I want the length of each row without NaN values
nonan = length(A(i,isnan(A)==0))
% Then use that for another for loop...
for 1:length(nonan)
...
end
end
How can I code this? Thanks in advance.

Respuesta aceptada

Ive J
Ive J el 21 de Mzo. de 2021
Editada: Ive J el 21 de Mzo. de 2021
arrayfun(@(x)numel(A(x, ~isnan(A(x, :)))), 1:size(A,1))
5 1 3

Más respuestas (0)

Categorías

Más información sobre Loops and Conditional Statements 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!

Translated by