Clear Filters
Clear Filters

averages of a matrix

1 view (last 30 days)
Anthony Campuzano
Anthony Campuzano on 8 Jun 2015
Given variable A that contains a row vector of values, and variable w that contains a row vector of weights, compute the weighted average of A and store the result into variable W_A
Examples: Inputs A = [1 2 3], w = [4 6 1] Output W_A = (1*4 + 2*6 + 3*1)/3 = 6.3333
Inputs A = [5.4 3 2.1 7], w = [1 1 0.5 1]
Output W_A = (5.4*1 + 3*1 + 2.1*0.5 + 7*1)/4 = 4.1125
I don't think the question is asking about weighted avg properly, so you can ignore that. I am just trying to figure out the proper code that would be capable of solving the example problems above...
  1 Comment
Salaheddin Hosseinzadeh
Salaheddin Hosseinzadeh on 8 Jun 2015
Be careful what you want. Star Strider mentioned a good point.

Sign in to comment.

Answers (2)

Star Strider
Star Strider on 8 Jun 2015
The weighted mean is the sum of the product of the values times the weights divided by the sum of the weights:
WgtdMean = sum(A.*w)/sum(w);
See the Wikipedia article: Weighted arithmetic mean.

Salaheddin Hosseinzadeh
Salaheddin Hosseinzadeh on 8 Jun 2015
Hi Anthony,
This is very basic, please read more
output = mean(A.*B)
That's all


Find more on Mathematics in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!