## How to sum up multiple vectors, element by element, to recieve one final value?

Asked by Oliver Cowburn

### Oliver Cowburn (view profile)

on 29 May 2019
Latest activity Edited by James Tursa

### James Tursa (view profile)

on 29 May 2019
Accepted Answer by Kevin Phung

### Kevin Phung (view profile)

I am a beginner to MATLAB and I'm probably trying to run before I can walk here, however, I need to calculate this equation below and I have found no explanations online: Where, WP and Op are vectors with 8760 iterations each.
I want to conduct this equation for each iteration of h (i.e. WP(1)*Op(1)/Op(1)) and summate each value to find a single value for the whole calculation (Ex).
I've been down the for loop route but not fully understanding how I can link it to my problem.
Any help would be amazing. Thanks!

### Release

R2018b

Answer by Kevin Phung

### Kevin Phung (view profile)

on 29 May 2019
Edited by Kevin Phung

### Kevin Phung (view profile)

on 29 May 2019

example:
W = [1 2 3 4 5];
O = [1 2 3 4 5];
%do the numerator first:
E = W.*O; %element wise product
%sum up the products, and divide by the sum of all elements in O:
E = sum(E)/sum(O); % E should now be a scalar -- your answer
let me know if this helps.

Answer by James Tursa

### James Tursa (view profile)

on 29 May 2019
Edited by James Tursa

### James Tursa (view profile)

on 29 May 2019

The numerator is just a simple dot product between two vectors, and the denominator is just a simple sum. Using the fact that a dot product between two vectors can be accomplished with the matrix multiply operator, you can just do a (row vector) * (column vector) operation on top and a sum on the bottom. E.g.,
If both are row vectors, then
E = WP * Op.' / sum(Op);
If both are column vectors, then
E = WP.' * Op / sum(Op);
Note that the .' operation is a non-conjugate transpose.