Mean Function with Matrix

3 views (last 30 days)
civs
civs on 15 Jul 2014
Commented: civs on 16 Jul 2014
I have a 3740x5 matrix called 'Rets'. I want to find the mean of every column vector. I tried using the function mean(Rets) and this is what I get:
mean(Rets)
ans =
1.0e-03 *
0.1591 0.2098 0.1475 -0.0623 -0.8807
I should only have 5 values in this row vector (from 0.1591 to -0.8807, as shown above), why do I have 6 values? I understand 1.0e-03 is the average of all the values in the row vector. So here is my question: How can I create a vector that only has these 5 values I need? Thanks!
  2 Comments
John D'Errico
John D'Errico on 15 Jul 2014
Look at the little * there. * means multiplication in matlab.
civs
civs on 16 Jul 2014
Hi John, thanks for your answer. Please see my answer to James Tursa below.

Sign in to comment.

Accepted Answer

James Tursa
James Tursa on 15 Jul 2014
Edited: James Tursa on 15 Jul 2014
There are five values listed. Each of the five values in the 2nd row is multiplied by the factor 1.0e-3. It is MATLAB's way of writing the following equivalent information:
0.1591e-3 0.2098e-3 0.1475e-3 -0.0623e-3 -0.8807e-3
To convince yourself of this, do the following:
size(ans)
  3 Comments
James Tursa
James Tursa on 16 Jul 2014
One is a row vector and the other is a column vector. You can't element-wise multiply a 1x5 with a 5x1. To get around this, e.g., you could turn the row vector into a column vector with the (:) notation, like this:
Wmin.*mean_ret_assets(:)
civs
civs on 16 Jul 2014
James, THANK YOU SOOOOO MUCH!!! It's looking good now, thank you thank you!!! :)

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!