2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > C语言实现峰度的计算

C语言实现峰度的计算

时间:2019-06-13 05:33:49

相关推荐

C语言实现峰度的计算

最近要用C计算一些统计特征,在网络上看了一些帖子,但是并没有实现目标。以前计算这些特征均是使用Matlab计算,于是按照matlab中关于峰度和偏度的函数帮助,自己用C写了一下。

峰度

%在matlab中,使用计算峰度的函数kurtosis默认的flag是等于1,%也就是上面两个式子中的K1。kurtosis_a_1 = kurtosis(a,1);kurtosis_a_0 = kurtosis(a,0);

下面给出使用C语言实现峰度计算的代码

#include<stdio.h>#include<math.h>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 kurtosis(double a[128], double len){//数组的长度要根据自己需求更改double kurtosis_mean = 0;double k1 = 0;double m2 = 0;double m4 = 0;double peakdnees = 0;double section_1 = 0;double section_2 = 0;kurtosis_mean = mean(a, len);//128是数组的长度for (int i = 0; i < 128; i++){m4 = m4 + pow((a[i] - kurtosis_mean),4);m2 = m2 + pow((a[i] - kurtosis_mean),2);}k1 = len * (m4 / (pow(m2,2)));section_1 = (len - 1)/((len - 2) * (len - 3));section_2 = (len + 1) * k1 - 3*(len - 1);peakdnees = section_1*section_2 + 3;//根据要计算的峰度不同,选择返回K1或者peakdnessreturn peakdnees;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。