2016-03-31 21 views
-5

Ben 2,5,1,3 numara koyduğunuzda benim varyans ile sorun var neden 3,46 olduğunu ancak doğru 2,18varyans yanlış hesaplama C#

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(); 
+2

For döngüsündeki son iki satırın dışında olmaması gerekir mi? –

+0

Niçin 2,18 doğru? Kodunuz aslında ne yapmalı? –

cevap

1

formülü standart sapmanın içindir: Gördüğünüz gibi

enter image description here

, size toplamı hesaplanan sonra n bölün gerekiyor. Ama bölümünüz döngüde. Bu işlemi döngünün dışında gerçekleştirirseniz, doğru sonucu alacaksınız.

+0

thx arkadaşı çalışıyor! – Ops