北交电子测量第二章大作业

上传人:飞****9 文档编号:132687912 上传时间:2020-05-19 格式:DOC 页数:9 大小:486KB
返回 下载 相关 举报
北交电子测量第二章大作业_第1页
第1页 / 共9页
北交电子测量第二章大作业_第2页
第2页 / 共9页
北交电子测量第二章大作业_第3页
第3页 / 共9页
北交电子测量第二章大作业_第4页
第4页 / 共9页
北交电子测量第二章大作业_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《北交电子测量第二章大作业》由会员分享,可在线阅读,更多相关《北交电子测量第二章大作业(9页珍藏版)》请在金锄头文库上搜索。

1、电子测量第二章大作业班级: 自动化 1姓名: 学号: 121.主要实现功能:实现对输入数据的误差处理:剔除粗大误差。判断累进性系统误差和周期性系统误差。计算平均值,方差,不确定度。2.具体程序:include#includedouble SUM(double x,int n);double AVRG(double x,int n);double SD(double x,int n);int PauTa(double x,int n);int Chauvenet(double x,int n);int Grubbs_1(double x,int n);int Grubbs_2(double x,

2、int n);static int n;static double a500;int main()int i,choose,leap=1;double avg,sd,sd1,v500,M=0,AH=0,vmax=0;double P,PX=12.706,4.303,3.182,2.776,2.571,2.447,2.365,2.306,2.262,2.228,2.131,2.086,2.060,2.042,2.021,2.000,1.980,1.960;printf(请输入数据总个数:n);scanf(%d,&n);printf(请输入数据(数据间用空格隔开):n);for(i=0;in;i+

3、)scanf(%lf,&ai);avg=AVRG(a,n); /*调用AVRG函数求均值*/sd=SD(a,n); /*调用SD函数求标准差*/printf(n输入数据的平均值为%lf,标准差为%lfn,avg,sd);while(leap)printf(请选择粗大误差的检验法:n1.莱特检验法(一般数据数大于10时选用)n2.肖维纳检验法(要求数据数大于5)n3.格拉布斯检验法(置信概率99%)n4.格拉布斯检验法(置信概率95%)n5.停止检验n);scanf(%d,&choose);if(choose=1&n10时选用*/else if(choose=2&n5)printf(数据总量小于

4、5,不能使用肖维纳检验法。n); /*肖维纳检验法要求数据数大于5*/else switch(choose)case 1 : leap=PauTa(a,n);break;case 2 : leap=Chauvenet(a,n);break;case 3 : leap=Grubbs_1(a,n);break;case 4 : leap=Grubbs_2(a,n);break;case 5 : leap=0;break;default: printf(输入错误,请重新选择n);break; /*用switch函数选择不同判据*/avg=AVRG(a,n);sd=SD(a,n);for(i=0;in

5、;i+)vi=ai-avg; /*计算残差*/if(vmax*vmax=vi*vi)vmax=vi; /*绝对值最大的残差*/printf(粗大误差剔除完毕,剩余数据如下(括号内为残差):n);for(i=0;in;i+)printf(%f(%f) ,ai,vi);printf(平均值为%lf,标准差为%lfn,avg,sd); /*马利科夫判据*/if(i%2=0)for(i=0;in/2;i+)M+=vi;for(i=n/2;in;i+)M-=vi;M=sqrt(M*M);vmax=sqrt(vmax*vmax);if(i%2=1)for(i=0;i(n-1)/2;i+)M+=vi;for

6、(i=(n-1)/2;i=vmax)printf(n根据马利科夫判据,存在累进性系统误差。n);else printf(n根据马利科夫判据,不存在累进性系统误差。n);/*阿卑-赫梅特准则*/for(i=0;i=(n-1)*sd*sd*sd*sd)printf(n根据阿卑-赫梅特准则,存在周期性系统误差。n);else printf(n根据阿卑-赫梅特准则,不存在周期性系统误差。n);if(n120)P=PX17;else if(n60)P=PX16;else if(n40)P=PX15;else if(n30)P=PX14;else if(n25)P=PX13;else if(n20)P=P

7、X12;else if(n15)P=PX11;else if(n10)P=PX10;else P=PXn-1;sd1=sd/(sqrt(n);printf(n该组数组的置信区间为%lf,%lf(置信概率为95%)n,(avg-P*sd1),(avg+P*sd1);return 0;double SUM(double x,int n) /*定义子函数*/double s=0;int i;for(i=0;in;i+)s+=xi;return s;double AVRG(double x,int n)double aver=0;aver=SUM(x,n)/n;return aver;double S

8、D(double x,int n)double aver,sd,SUM=0;int i;aver=AVRG(x,n);for(i=0;i=n;i+)SUM+=xi*xi;sd=sqrt(SUM-n*aver*aver)/(n-1);return sd;int PauTa(double x,int n)int i,j=0,leap;double v500,temp=0,aver,sd;aver=AVRG(x,n);sd=SD(x,n);for(i=0;in;i+)vi=xi-aver;for(i=0;i=9*sd*sd)&(vi*vitemp*temp)temp=vi;j=i+1;if(j)fo

9、r(i=j-1;i36)ch=chx36;else ch=chxn-1;aver=AVRG(x,n);sd=SD(x,n);for(i=0;in;i+)vi=xi-aver;for(i=0;i=(ch*ch*sd*sd)&(vi*vi)=(temp*temp)j=i+1;temp=vi;if(j)printf(依据肖维纳检验法,本次剔除了第%d个数据%lfn,j,xj-1);for(i=j-1;i=100)g=gx29;else if(n=50)g=gx28;else if(n=40)g=gx27;else if(n=35)g=gx26;else if(n=30)g=gx25;else if(

10、n=25)g=gx24;else g=gxn-1;aver=AVRG(x,n);sd=SD(x,n);for(i=0;ixi)min=i;if(maxxi)max=i;if(vmax*vmaxg*g*sd*sd)printf(根据格拉布斯检验法,本次剔除了第%d个数据%lf(置信概率99%)n,max,xmax);for(i=max;in-1;i+)xi=xi+1;leap=1;n-;elseprintf(根据格拉布斯检验法,没有要剔除的数据n);leap=0;return leap;int Grubbs_2(double x,int n)int i,max=0,min=0,leap;double v500

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 经营企划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号