Replace NaN with corresponding elements in another array.

I can find the locations of all the NaNs in an array, but how can I replace those elements with the corresponding elements of another array.

Answers (1)

A = original array with NaNs in it
B = array with desired replacement values
x = isnan(A);
A(x) = B(x);

2 Comments

How can I replace the zeros in the resulting array with the corresponding elements in A?
The zeros in what resulting array? If you have an array C the same size as A and you want to replace the zeros in C with the corresponding values from A, then use a similar technique as above. E.g.,
x = (C == 0);
C(x) = A(x);

Sign in to comment.

Asked:

on 2 Feb 2015

Commented:

on 5 Feb 2015

Community Treasure Hunt

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

Start Hunting!