}
}
}
dataNumber=dataNumber-t;
//检查完坏值了 printf(\printf(\printf(\
printf(\已经没有坏值了,剩余数据的个数为:%d\\n\ printf(\
printf(\剩余值的平均值是:%lf\\n\ //输出剩余值的平均值 printf(\
printf(\剩余值的标准偏差估计值是:%lf\\n\输出剩余值的标准偏差估计值
//第四部分 printf(\
printf(\第四部分************\\n\
printf(\判断变值系统误差************\\n\ //判断变值系统误差 //累进性系统误差,马利科夫判据 int v=0,w=0,x=0,y=0;
for(v=0;v for(v=0;v if(CanyuWucha2[v]!=0) datas2[v-y]=CanyuWucha2[v]; //data2里是去除坏值后原始排序的残余误差 else y=y+1; } for(v=0;v CanyuWucha2[v]=datas2[v]+average; } printf(\去除坏值之后的残余误差为(原始排序):\\n\ //输出踢出坏值之后的残余误差 n=0; for(n=0;n printf(\ printf(\ } doubleQianBan=0.0,HouBan=0.0,pp=0.0; if(dataNumber%2==0) { for(n=0;n<(dataNumber/2-1);n++) { QianBan+=datas2[n]; } for(n=(dataNumber/2);n HouBan+=datas2[n]; } if(fabs(QianBan-HouBan)>=CanyuWuchaABS[t]) { pp=1; printf(\ printf(\存在累进性系统误差,不建议使用本组测量数据!\\n\ } else { pp=0; printf(\ printf(\不存在累进性系统误差!\\n\ } } else { QianBan=0,HouBan=0; for(n=0;n<((dataNumber-1)/2-1);n++) { QianBan+=datas2[n]; } for(n=((dataNumber-1)/2);n HouBan+=datas2[n]; } if(fabs(QianBan-HouBan)>=CanyuWuchaABS[t]) { pp=1; } printf(\ } printf(\存在累进性系统误差,不建议使用本组测量数据!\\n\else { pp=0; printf(\ printf(\不存在累进性系统误差!\\n\ } //周期性系统误差,阿卑-赫梅特判据 doubleChengJi=0.0,qq=0.0; for(n=0;n<(dataNumber-1);n++) { ChengJi+=(datas2[n]*datas2[n+1]); } if(fabs(ChengJi)>=((sqrt(dataNumber-1)*StanErrorEsti))) { qq=1; printf(\ printf(\存在周期性系统误差,不建议使用本组测量数据!\\n\ } else { qq=0; printf(\ printf(\不存在周期性系统误差!\\n\ } //第五部分 printf(\ printf(\第五部分************\\n\ printf(\给出置信区间************\\n\ //给出置信区间 double StanErrorEsti2=0.0,aa=0.0,bb=0.0,cc=0.0,dd=0.0; cc=sqrt(dataNumber); StanErrorEsti2=StanErrorEsti/cc; dd=ta[dataNumber]*StanErrorEsti2; aa=average-dd; bb=average+dd; printf(\置信区间是(%lf,%lf)\\n\return 0; }