物理实验要凡是有平均值的都要算不确定度,每个自己算就很烦。
卡西欧那个好像算的是偏差,不知道和不确定度是不是一个东西。
而且写过程的时候我希望写出
a
1
2
+
a
2
2
+
.
.
.
.
.
\sqrt {a_{1}^2+a^2_{2}+.....}
a12+a22+.....,其中
a
i
=
x
i
−
x
ˉ
a_{i}=x_{i}-\bar x
ai=xi−xˉ
这样就逼真了,好像我自己算的一样。
最后我用c写了一个及其简单的程序就解决了问题。
用来算不确定度,平均值和
a
i
a_{i}
ai
源码给大家展示一下。
#include<stdio.h>
#include<math.h>
int f(){
int N;
double a[10000];
double sum=0;
double kk=0;
printf("请输入数据组数:");
scanf("%d",&N);
printf("请输入数据\n");
for(int i=0;i<N;i++){
printf("%d ",i+1);
scanf("%lf",&a[i]);
sum+=a[i];
}
sum/=N;
printf("平均数是:%lf\n",sum);
printf("中间过程是:");
for(int i=0;i<N;i++) {
kk+=(a[i]-sum)*(a[i]-sum);
printf("%lf ",(a[i]-sum));
}
printf("不确定度是:%lf\n",sqrt(1.0/(N*(N-1))*kk));
}
int main(){
f();
while(getchar()=='\n') f();
}