C# 方差计算错误c
当我输入2,5,1,3个数字时,我的方差有问题,结果是3,46,但正确的是2,18C# 方差计算错误c,c#,winforms,variance,C#,Winforms,Variance,当我输入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
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。 但是你的部门在循环中。
如果在循环的外部执行此操作,您将收到正确的结果。for循环中的最后两行不应该在它的外部吗?为什么2,18是正确的?您的代码实际上应该做什么?