Mean Function with Matrix

3 次查看(过去 30 天)
civs
civs 2014-7-15
评论: civs 2014-7-16
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 个评论
John D'Errico
John D'Errico 2014-7-15
Look at the little * there. * means multiplication in matlab.
civs
civs 2014-7-16
Hi John, thanks for your answer. Please see my answer to James Tursa below.

请先登录,再进行评论。

采纳的回答

James Tursa
James Tursa 2014-7-15
编辑:James Tursa 2014-7-15
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 个评论
James Tursa
James Tursa 2014-7-16
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 2014-7-16
James, THANK YOU SOOOOO MUCH!!! It's looking good now, thank you thank you!!! :)

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by