MATLAB Answers

matlab code to make values of an array in specific ranges(index positions) equal to zero

1 view (last 30 days)
pavan sunder
pavan sunder on 28 Nov 2016
Edited: Walter Roberson on 29 Nov 2016
matlab code to make values of an array in specific ranges equal to zero
ex:
d=[1 2 3 4 5 6 7 8 9 10 11 12 13]
start_index_positions=[2 6 10]
end_index_positions=[4 8 12]
output:
d=[1 0 0 0 5 0 0 0 9 0 0 0 13]

Answers (2)


Elias Gule
Elias Gule on 29 Nov 2016
Hi, I hope this is want you want.
d=[1 2 3 4 5 6 7 8 9 10 11 12 13];
start_index_positions=[2 6 10];
end_index_positions=[4 8 12];
ranges = arrayfun(@(x,y) x:y,start_index_positions,end_index_positions,'UniformOutput',false);
d([ranges{:}]) = 0;

Tags

Community Treasure Hunt

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

Start Hunting!