MATLAB Answers

0

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

Asked by pavan sunder on 28 Nov 2016
Latest activity Edited by 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]

  0 Comments

Sign in to comment.

Tags

2 Answers

Answer by James Tursa
on 28 Nov 2016

for k=1:numel(start_index_positions)
d(start_index_positions(k):end_index_positions(k)) = 0;
end

  0 Comments

Sign in to comment.


Answer by 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;

  0 Comments

Sign in to comment.