MATLAB Answers

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

48 ビュー (過去 30 日間)
Oliver Cowburn
Oliver Cowburn 2019 年 5 月 29 日
編集済み: James Tursa 2019 年 5 月 29 日
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:
Equ.JPG
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!

採用された回答

Kevin Phung
Kevin Phung 2019 年 5 月 29 日
編集済み: Kevin Phung 2019 年 5 月 29 日
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.

その他の回答 (1 件)

James Tursa
James Tursa 2019 年 5 月 29 日
編集済み: James Tursa 2019 年 5 月 29 日
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.

製品


リリース

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by