cam*_*ase 0 statistics matlab variance
我有这个载体[10000000000 10000000001 10000000002]
我尝试使用这个公式计算其方差
公式http://dl.dropbox.com/u/8708831/imagen.png
我计算它,但我得到的答案是3.33333333466667e + 19这是错误的,因为正确的答案是1.
我做错了什么?
MATLAB代码是
total=0;
m1=data(1);
m2=(data(2)-m1)/2;
q1=0;
q2=q1+(((2-1)/2)*((data(2)-m1)^2));
q3=q2+(((3-1)/3)*((data(3)-m2)^2));
variance=q3/(3-1)
Run Code Online (Sandbox Code Playgroud)
谢谢
M是一个平均计算,它应该是
Mk = ((k-1) M(k-1) + xk)/k
Run Code Online (Sandbox Code Playgroud)
从而
m1=data(1);
m2=(data(2)+m1)/2;
q1=0;
q2=q1+(((2-1)/2)*((data(2)-m1)^2));
q3=q2+(((3-1)/3)*((data(3)-m2)^2));
variance=q3/(3-1)
variance =
1
Run Code Online (Sandbox Code Playgroud)
什么,我感觉很慷慨,通用尺寸数据的完整代码:
sizle = size(data,2);
M = zeros(1, sizle);
Q = M;
Variance = Q;
M(1)=data(1);
for i = 2:sizle
M(i)=((i-1)*M(i-1) + data(i))/i;
Q(i)=Q(i-1)+(i-1)*((data(i)-M(i-1))^2)/i;
Variance(i) = Q(i)/(i-1);
end
Variance(end)
var(data)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
282 次 |
| 最近记录: |