[問題] 同樣數據,讓c#和excel算標準差

看板C_Sharp作者 (Orz)時間16年前 (2009/06/17 00:28), 編輯推噓2(206)
留言8則, 6人參與, 最新討論串1/1
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
check一下兩個算法是不是一樣..分母?
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
PS:excel用的是stdev算標準差
06/17 10:30, 5F

06/17 11:30, , 6F
Excel stdev使用的公式確定完全一樣嗎?
06/17 11:30, 6F

06/18 09:15, , 7F
查了一下,Excel用的公式不一樣喔,stdev是除以n-1
06/18 09:15, 7F

06/18 09:15, , 8F
stdevp才是除以N
06/18 09:15, 8F
文章代碼(AID): #1ADyX4lp (C_Sharp)