Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 方差计算错误c_C#_Winforms_Variance - Fatal编程技术网

C# 方差计算错误c

C# 方差计算错误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

当我输入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。 但是你的部门在循环中。
如果在循环的外部执行此操作,您将收到正确的结果。

for循环中的最后两行不应该在它的外部吗?为什么2,18是正确的?您的代码实际上应该做什么?