Inserting NaN in particular spots of my matrix, all while "preserving" or shifting all other numbers

31 views (last 30 days)
I want to insert NaN in particular spots of two different sized matrices, with the number I'm "replacing" being shifted "down". For example:
a = [1 5 NaN 4 NaN 10 3]
b = [6 1 0 3 5]
I want b to look like:
b = [6 1 NaN 0 NaN 3 5]
So essentially my NaNs are located in the same index as matrix 1, however, I want to preserve the numbers in b, by moving them down by one index in my new matrix.
Any tips?

Accepted Answer

Alfonso Nieto-Castanon
Alfonso Nieto-Castanon on 16 Jul 2014
Edited: Alfonso Nieto-Castanon on 16 Jul 2014
If I am interpreting correctly (not really sure if this is what you mean by "shifted down") this should do:
c = nan(size(a));
c(~isnan(a)) = b;

More Answers (0)

Community Treasure Hunt

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

Start Hunting!