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

1 view (last 30 days)
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

Davide Masiello
Davide Masiello on 30 Mar 2023
Edited: Davide Masiello on 30 Mar 2023
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)

Community Treasure Hunt

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

Start Hunting!