一、题目要求
用C语言或Matlab设计测量数据误差处理的通用程序
(1)提供测试数据输入、粗大误差判别准则选择的人机界面
(2)编写程序使用说明
(3)通过实例来验证程序的正确性
二、示例图
三、核心代码
private void Init()//打印表格序号
{
for (int i = 0; i < 20; i++)
{
int index = this.dataGridView1.Rows.Add();
this.dataGridView1.Rows[i].Cells[0].Value = index + 1;
}
this.dataGridView1.AllowUserToAddRows = false;
this.dataGridView1.AllowUserToDeleteRows = false;
}
private void button1_Click(object sender, EventArgs e)
{
// 添加元素
arr.Clear();
for (int i = 0; i < 11; i++)
{
arr.Add(this.dataGridView1.Rows[i].Cells[1].Value);
this.dataGridView1.Rows[i].Cells[2].Value = "";
}
double[] arr1 = new double[arr.Count];
for (int i = 0; i < arr.Count; i++)
{
arr1[i] = double.Parse(arr[i].ToString());
}
double sum = 0, sum2 = 0;
for (int i = 0; i < arr.Count; i++)
{
sum += arr1[i];
sum2 += arr1[i] * arr1[i];
}
double ave = sum / arr1.Length;
double s1 = Math.Sqrt((sum2 - sum * sum / arr1.Length) / (arr1.Length - 1));
this.textBox3.Text = ave.ToString("f3");
this.textBox6.Text = s1.ToString("f3");
}
private bool Ifpass(ArrayList arr)
{
double sum = 0, sum2 = 0;
double[] arr1 = new double[arr.Count];
for (int i = 0; i < arr.Count; i++)
{
arr1[i] = double.Parse(arr[i].ToString());
}
for (int i = 0; i < arr.Count; i++)
{
sum += arr1[i];
sum2 += arr1[i] * arr1[i];
}
double ave = sum / arr1.Length;
double s1 = Math.Sqrt((sum2 - sum * sum / arr1.Length) / (arr1.Length - 1));
this.textBox3.Text = ave.ToString("f3");
this.textBox6.Te