c语言实现协方差函数 协方差函数计算

用c语言定义一个函数,计算平均数,方差,标准差。(请用指针完成)

//计算平均数,方差,标准差。

创新互联从2013年创立,先为抚松等服务建站,抚松等地企业,进行企业商务咨询服务。为抚松企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

#include stdio.h

#include conio.h

#include stdlib.h

#include time.h

#include math.h

#define N 100

void TongJi(double a[],int n,double *aver,double *vari,double *stdDev){

//对长度为n的数组a进行统计,统计其平均值aver、方差vari、标准差stdDev

int i;

double *p,aver2;

*aver=0.0;

for(p=a+(n-1);p=a;--p){

*aver+=*p;//累加各元素

aver2+=(*p)*(*p);//累加各元素的平方

}

*aver/=n;//求平均值

aver2/=n;//求平方的平均值

*vari=aver2-(*aver)*(*aver);//计算方差

*stdDev=sqrt(*vari);//计算标准差

}

int main(){

double a[N],pj,fc,bzc;

int i;

srand(time(NULL));

for(i=0;iN;++i){

a[i]=rand()/(RAND_MAX+1.0); //产生随机小数[0,1)

printf("%lg ",a[i]);

}

TongJi(a,N,pj,fc,bzc);

printf("\nPingJun=%lg, FangCha=%lg, BiaoZhunCha=%lg",pj,fc,bzc);

printf("\nFinished!\n");

getch();

return 0;

}

顺便做了一个测试:产生100个随机小数,得到其平均值大概在0.5左右,方差在0.08左右,标准差在0.28左右。说明系统自带的随机数发生器还是比较均匀的。

C语言 求方差

直接上代码:

#include stdio.h

#include conio.h

#include math.h

double fangcha(double x[], int n){

//求数组x(具有n个元素)的方差:S=(x^2-x)^0.5

int i;

double xaver=0.0, x2aver=0.0;

for(i=0;in;++i){

xaver+=x[i]; x2aver+=x[i]*x[i];

}

xaver/=n; x2aver/=n; //求x的平均、x^2的平均

return sqrt(x2aver-xaver*xaver);

}

int main(){

double x[5];

int i;

printf("Input 5 datas:\n");

for(i=0;i5;++i){

scanf("%lf",x[i]);

}

printf("\nFangCha S=%.4lf",fangcha(x,5));

printf("\nFinished!\n");

getch();

return 0;

}

希望能帮助到你。

C语言用函数算数组的平均数和方差.如何编写

类型不匹配,方差和平均数都是float型,你两个函数的返回值都是int类型,且输出也是用的%d


当前标题:c语言实现协方差函数 协方差函数计算
URL分享:http://scyanting.com/article/ddgjoje.html