How to assign NaN to consecutive elements of a vector, in intervals defined by a matrix

1 Ansicht (letzte 30 Tage)
Hello there!
supose we have a vector x=1:12
and we have a controling matrix as this:
z=[2 4; 6 8; 10 11]
We want to assign NaN in x in the intervals in z for 2 to 4, 6 to 8 and 10 to 11, in order to get:
x_new= [ 1 NaN NaN NaN 5 NaN NaN NaN 9 NaN NaN 12]
Many thanks in advance for your time
  2 Kommentare
Paramonte
Paramonte am 5 Jun. 2020
Dear Mohammad, you are right. I have edited the original question and corrected the values.
Thank you

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Tommy
Tommy am 5 Jun. 2020
Try this:
N = numel(x);
idx = any((1:N >= z(:,1) & 1:N <= z(:,2)));
x(idx) = NaN;

Weitere Antworten (0)

Tags

Produkte


Version

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by