验证正态分布的数学期望和方差
- 代码
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46//编程环境:Xcode //编程语言:C语言 #include <stdio.h> #include <stdlib.h> #include <math.h> #include <time.h> #define pai 3.1415926 int main () { srand((unsigned)time(NULL)); double a[1000]; double e,d,p[1000]; double sumbeta=0; double beta_e=0; double beta_d=0; double er,dr,f,b1,b2,b0,b3; double beta_di; int i; printf("请输入e和d的值:n"); scanf("%lf%lf",&e,&d); for(i=0;i<1000;i++) { a[i]=rand()%1000; } for(i=0;i<1000;i++){ b0=(a[i]-e)/d; b1=b0*b0*(-0.5); b2=exp(b1); b3=1/(pow(2*pai,0.5)*d); p[i]=b2*b3;//正太分布公式 beta_e=p[i]*a[i];//计算每个值的均值 sumbeta+=beta_e; } beta_e=sumbeta; er=fabs(beta_e-e); for(i=0;i<1000;i++){ f=beta_e-a[i]; beta_di=p[i]*pow(f,2); beta_d+=beta_di;//计算方差 } dr=fabs(beta_d-d*d); printf("理论期望为%lf,理论方差为%lf,实验的期望值为%lf,实验的方差为%lf,期望的误差为%lf,方差的误差为%lfn",e,d*d,beta_e,beta_d,er,dr); return 0; }
- 结果
复制代码
1
2
3
4
5
6请输入e和d的值: 500 100 理论期望为500.000000,理论方差为10000.000000, 实验的期望值为484.429298,实验的方差为10341.982960, 期望的误差为15.570702,方差的误差为341.982960
最后
以上就是英俊糖豆最近收集整理的关于概率论大作业C语言验证正态分布的数学期望和方差验证正态分布的数学期望和方差的全部内容,更多相关概率论大作业C语言验证正态分布内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复