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

62 ビュー (過去 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.

カテゴリ

Help Center および File ExchangeLoops and Conditional Statements についてさらに検索

製品


リリース

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by