1

マトリックスを考えてみましょう

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)

ans =

 0     0

関数の歪度が 2 つの 0 を返すのはなぜですか。式は 0 を 1 つだけ返します。

4

1 に答える 1

2

MATLAB 関数SKEWNESSは既定で各列の歪度を個別に計算します。マトリックス全体に対してskewness(c(:)).

于 2013-02-28T05:31:12.387 に答える