moment.c

来自「适合大型数值计算代码 现在网络上已经找不到了 购买需要20$」· C语言 代码 · 共 31 行

C
31
字号
#include <math.h>void moment(float data[], int n, float *ave, float *adev, float *sdev,	float *var, float *skew, float *curt){	void nrerror(char error_text[]);	int j;	float ep=0.0,s,p;	if (n <= 1) nrerror("n must be at least 2 in moment");	s=0.0;	for (j=1;j<=n;j++) s += data[j];	*ave=s/n;	*adev=(*var)=(*skew)=(*curt)=0.0;	for (j=1;j<=n;j++) {		*adev += fabs(s=data[j]-(*ave));		ep += s;		*var += (p=s*s);		*skew += (p *= s);		*curt += (p *= s);	}	*adev /= n;	*var=(*var-ep*ep/n)/(n-1);	*sdev=sqrt(*var);	if (*var) {		*skew /= (n*(*var)*(*sdev));		*curt=(*curt)/(n*(*var)*(*var))-3.0;	} else nrerror("No skew/kurtosis when variance = 0 (in moment)");}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?