Also ich hab jetzt nochmal gebastelt:
Ausgangsproblem war das hier:
Delphi-Quellcode:
//Abweichung ermitteln
Mittelwert:= edMittel.text;
AbweichungsQuadrat:=0;
for i:= 1 to Anzahl do
AbweichungsQuadrat:=AbweichungsQuadrat + (x[i] - Mittelwert) * (x[i] - Mittelwert);
Standardabweichung:= SQRT(AbweichungsQuadrat/(Anzahl(Zahlenfeld) -1)
Mir ist aber noch unklar was Zahlenfeld genau ist?!
Ich habe jetzt das hier mal gemacht:
Delphi-Quellcode:
var AbweichungsQuadrat: single;
Standardabweichung: single;
begin
//Abweichung ermitteln
Mittelwert:= summe / (sgMess.RowCount-1);
AbweichungsQuadrat:=0;
for i:= 1 to sgMess.RowCount-1 do
AbweichungsQuadrat:=AbweichungsQuadrat + (StrToFloat(sgMess.Cells[1,i]) - Mittelwert) * (StrToFloat(sgMess.Cells[1,i]) - Mittelwert);
Standardabweichung:= SQRT((AbweichungsQuadrat)/(sgMess.RowCount-1)*(StrToFloat(sgMess.Cells[1,sgMess.RowCount-1])) -1);
edAbw.text:=FloatToStr(Standardabweichung);
end;
Es rechnet jetzt auch einen Wert aus...aber nicht mit allen Werten
...
Ich habe eine Liste in der alle Werte 0019 sind...da gibt es also keine Abweichung und das Prog. stürzt mit einer
Exception "keine Gültige Gleitkomma-Operation" ab...das müsste man noch abfangen...
Mh...bloß stimmen die ergebnisse auch?