物理数据处理,不确定度的计算C++代码

  • Post author:
  • Post category:其他


完整代码如下。

#include <iostream>
using namespace std;
int main()
{
	double sum = 0, s = 0, e, z, c;
	int n;
	double a[500];//定义变量
	cout << "请输入要计算的数据个数" << endl;
	cin >> n;

	for (int i = 0; i < n; i++) {
		cout << "请输入第" << i + 1 << "个数" << endl;
		cin >> a[i];
	}//数据输入
	for (int i = 0; i < n; i++) {
		sum += a[i];

		e = sum / n;

	}//平均值计算,标准差计算
    s += (a[i] - e) * (a[i] - e);
	s = s / (n - 1);
	z = sqrt(s);//标准偏差计算
	cout << "数据的平均值为" << e << endl;
	cout << "标准偏差为" << z << endl;//数据的输出
	if (n == 2) {
		c = z * 8.98;
	}
	else if (n == 3) {
		c = z * 2.48;
	}
	else if (n == 4) {
		c = z * 1.59;
	}
	else if (n == 5) {
		c = z * 1.24;
	}
	else if (n == 6) {
		c = z * 1.05;
	}
	else if (n == 7) {
		c = z * 0.93;
	}
	else if (n == 8) {
		c = z * 0.84;
	}
	else if (n == 9) {
		c = z * 0.77;
	}
	else if (n == 10) {
		c = z * 0.72;
	}//判定置信因子
	cout << "A不确定度为" << c << endl;
	cout << "如果需要计算总不确定度,请输入仪器偏差" << endl;
	double l, j;
	cin >> l;
	j = sqrt(c * c + l * l);
	cout << "总不确定度为" << j << endl;
	cout << "输入1结束程序" << endl;
	cin >> l;
}