[問題] 同樣數據,讓c#和excel算標準差
excel算
14.08530558
csharp算出來
14.227170173088554
這是正常嗎?_?
PS:excel只有小數8位
csharp double可以到小數下16位.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.169.187.142
→
06/17 01:32, , 1F
06/17 01:32, 1F
推
06/17 06:34, , 2F
06/17 06:34, 2F
→
06/17 08:19, , 3F
06/17 08:19, 3F
→
06/17 10:14, , 4F
06/17 10:14, 4F
公式程式碼如下
我總共有97個資料,所以97是這樣來的.
public double StandardDeviation(double[] num)
{
double avg = Average(num);
double SumOfSqrs = 0.0;
foreach (double d in num)
{
SumOfSqrs += Math.Pow(d - avg, 2);
}
//return Math.Sqrt((SumOfSqrs / (num.Length)));
return Math.Sqrt((SumOfSqrs / (97)));
}
public double Average(double[] num)
{
double sum = 0.0;
foreach (double d in num)
{
sum += d;
}
//return sum / Convert.ToDouble(num.Length);
return sum / Convert.ToDouble(97);
}
※ 編輯: liaommx 來自: 120.125.83.171 (06/17 10:16)
→
06/17 10:30, , 5F
06/17 10:30, 5F
→
06/17 11:30, , 6F
06/17 11:30, 6F
推
06/18 09:15, , 7F
06/18 09:15, 7F
→
06/18 09:15, , 8F
06/18 09:15, 8F