#偏度
本文是采用matlab中计算偏度的公式,然后用C语言实现。
#include#include double mean(double a[128], double len) { double sum = 0; double mean = 0; //求和 for (int i = 0; i < len; i++) { sum += a[i]; } //计算均值 mean = sum / len; return mean; } double skewness(double a[128], double len) { double ske_mean = 0; double s1 = 0; double s0 = 0; double x_xmean_2 = 0; double x_xmean_3 = 0; //均值 ske_mean = mean(a, len); for (int i = 0; i < 128; i++) { x_xmean_2 += (a[i] - ske_mean)*(a[i] - ske_mean); x_xmean_3 += (a[i] - ske_mean)*(a[i] - ske_mean)*(a[i] - ske_mean); } s1 = ((1 / len)*x_xmean_3) / pow(sqrt((1 / len)*x_xmean_2),3); s0 = sqrt(len*(len - 1))*s1 / (len - 2); //根据计算偏度的不同选择返回s1或者s0 return s0; }



