Given a matrix, if any element has a non-finite value, I want to make all elements of that row equal to NaN. For example:
Input:
A=[1 2 NaN 4 5 6 7 NaN 9 0 1 2 3 4 5 6 7 8 Inf 0 1 2 3 4 5 6 7 8 NaN 0];
Output:
B=[NaN NaN NaN 4 5 6 NaN NaN NaN 0 1 2 3 4 5 6 7 8 NaN NaN NaN 2 3 4 5 6 7 NaN NaN NaN];
How can this be done?
This is how I know:
idx_NaNinf = find((isnan(A)|isinf(A)) ); [idx_row,idx_col] = ind2sub(size(A),idx_NaNinf);
With all row numbers stored in idx_row and by using a for loop, I can make the elements of that row equal to NaN. But is there any other more efficient method?
Best Answer