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

1 次查看(过去 30 天)
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

采纳的回答

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

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

标签

产品


版本

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by