How to include NaN elements in an array based on a condition?

Can someone help me out in writing a code to insert NaN eleemnts in an array if the element is not a consecutive multiple of 2? For example if a = [2 4 6 12 14 18]; Im expecting to be turned out as a = [2 4 6 NaN NaN 12 14 NaN 18]; Thank you

 Accepted Answer

a = [2 4 6 12 14 18];
A = a(1):2:a(end);
new_a = zeros(size(A));
idx = any(a'== A,1);
new_a(idx) = a;
new_a(~idx) = nan;
new_a
new_a = 1×9
2 4 6 NaN NaN 12 14 NaN 18

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!