闲来无事写了一个求不确定度代码,比较简单,如果测量数据数量不是5的话稍微改一下就行,用代码算不确定度省了不少事。
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
float a[5] , delta ;
int i ;
float avg , sum ,ua , ub ,uc ;
printf("请输入5个测量数据:\n") ;
for(i = 0 ; i < 5 ; i++){
scanf("%f",&a[i]);
}
printf("请输入仪器误差:\n") ;
scanf("%f",&delta);
for(i = 0 ; i < 5 ; i++){
sum += a[i] ;
}
avg = sum / 5.0 ;
printf("平均值为 %f\n",avg) ;
sum = 0 ;
for(i = 0 ; i < 5 ; i++){
sum += (avg - a[i]) * (avg - a[i]) ;
}
ua = sqrt(sum/20.0) ;
printf("不确定度a为 %f\n",ua) ;
ub = delta / sqrt(3) ;
printf("不确定度b为 %f\n",ub) ;
uc = sqrt(ua*ua+ub*ub) ;
printf("不确定度c为 %f\n",uc) ;
return 0;
}