Clear Filters
Clear Filters

how to find the sum of product of elements of an array in matlab

52 views (last 30 days)
hi,
let p = [1 2 33 44 -11 -22] is single row multiple column matrix
i = index of elements of 'p',
in this case i = [1 2 3 4 5 6]
then x = sum(i*p(i)),i.e,'x' is equal to sum of product of corresponding elements of 'i' and 'p';
how to get 'x',
i know that we can compute 'x' by using loops.but is there any better way other than loops.

Accepted Answer

Azzi Abdelmalek
Azzi Abdelmalek on 3 Oct 2013
p = [1 2 33 44 -11 -22]
i = [1 2 3 4 5 6]
out=sum(i.*p(i))
  2 Comments
Chandradhar Savanth
Chandradhar Savanth on 3 Oct 2013
Its working
thank you Azzi Abdelmalek ,
in the same above question can i find sum of product of only first 4 elements.
i.e,x = sum(i.*p(i)),where 'i' and 'p' takes first four elements of there respective arrays.
Regards,
Chandradhar Savanth.

Sign in to comment.

More Answers (1)

Debnarayan Bhattacharya
Debnarayan Bhattacharya on 1 Oct 2019
Edited: Debnarayan Bhattacharya on 1 Oct 2019
Easier way is:
p = [1 2 33 44 -11 -22]
i = 1:size(p, 2)
out = p * i'
Alternately,
out = dot(p, i)
I am not aware of a function named sumproduct in MATLAB. However, the dot() serves the purpose.

Community Treasure Hunt

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

Start Hunting!