Ignore NaN value when iterating

5 次查看(过去 30 天)
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.

采纳的回答

Ive J
Ive J 2021-3-21
编辑:Ive J 2021-3-21
arrayfun(@(x)numel(A(x, ~isnan(A(x, :)))), 1:size(A,1))
5 1 3

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Resizing and Reshaping Matrices 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by