方差计算错误c#
variance wrong calculation c#
当我输入 2,5,1,3 数字时我的方差有问题结果是 3,46 但正确的是 2,18
double result=0;
string x1 = textBox1.Text;
string[] tab = x1.Split(',');
int n = tab.Length;
double sum = 0;
double ob = 0;
for (int i = 0; i < n; i++)
{
sum = sum + double.Parse(tab[i]);
result = sum / n;
ob = (ob + Math.Pow((double.Parse(tab[i]) - result),2)) / n;
}
textBox2.Text = ob.ToString();
标准方差的公式为:
如您所见,计算总和后必须除以n。
但是你的部门在循环中。
如果您将在循环外部执行此操作,您将收到正确的结果。
当我输入 2,5,1,3 数字时我的方差有问题结果是 3,46 但正确的是 2,18
double result=0;
string x1 = textBox1.Text;
string[] tab = x1.Split(',');
int n = tab.Length;
double sum = 0;
double ob = 0;
for (int i = 0; i < n; i++)
{
sum = sum + double.Parse(tab[i]);
result = sum / n;
ob = (ob + Math.Pow((double.Parse(tab[i]) - result),2)) / n;
}
textBox2.Text = ob.ToString();
标准方差的公式为:
如您所见,计算总和后必须除以n。 但是你的部门在循环中。 如果您将在循环外部执行此操作,您将收到正确的结果。