sum, vector elements, except i-th

hi,
how can I sum vector elements, say v = rand(1,30), except 12th one?
thanks,

 Accepted Answer

You can always do the sum, then subtract that single element, 12th, from the sum.
v = rand(1,30);
sum_except12=sum(v)-v(12)

More Answers (1)

Guillaume
Guillaume on 8 Jul 2015
Edited: Guillaume on 8 Jul 2015
some other options:
sum(v([1:11, 13:end]))
sum(v(setdiff(1:end, 12))
This latter one, will also work if you have a set of indices you want to exclude. e.g.:
sum(v(setdiff(1:end, [5 12 18])) %sum of v except elements 5, 12, and 18

1 Comment

Guillaume,
your answers are always different.
thanks and regards,

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!