考虑矩阵
c =
1 2
3 4
m = 2;
n = 2;
% mean
% sum1 = uint32(0);
b4 = sum(c);
b5 = sum(b4');
c5 = b5 / ( m * n )
% standard deviation
sum2 = uint32(0);
for i = 1 : m
for j = 1 : n
b = ( double(c(i,j)) - c5 ) ^ 2 ;
sum2 = sum2 + b ;
end
end
sum3 = sum2 / ( m * n );
std_dev = sqrt(double(sum3))
% skewness
sum9 = 0;
for i = 1 : m
for j = 1 : n
skewness_old = ( ( double(c(i,j)) - c5 ) / ( std_dev) )^ 3 ;
sum9 = sum9 + skewness_old ;
end
end
skewness_new = sum9 / ( m * n ) 偏度结果为0。
如果我用matlab函数的偏度,
skewness(c)C=
1 2
3 4偏度(C)
安=
0 0为什么函数偏斜返回两个0,而公式只返回一个0。
发布于 2013-02-28 05:31:12
默认情况下,MATLAB函数偏度分别计算每列的偏度。对于整个矩阵做skewness(c(:))。
https://stackoverflow.com/questions/15128029
复制相似问题