我有这个载体[10000000000 10000000001 10000000002]
我尝试使用此公式计算其方差
formula 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)
由于
答案 0 :(得分:5)
M是平均计算,它应该是
Mk = ((k-1) M(k-1) + xk)/k
从而
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
到底是什么,我感觉很慷慨,是通用尺寸数据的完整代码:
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)