Hi,
ich konnte deine Funktion so schlecht lesen, da habe ich sie nochmal bei mir eingetippt - das kam dabei raus:
Delphi-Quellcode:
function CalcMeanValue(aData: Array of Word): Word;
var
i: Integer;
sum: DWord;
begin
sum := 0;
// Messwerte aufaddieren
for i := Low(aData) to High(aData) do
sum := sum + aData[i];
// Mittelwert berechnen
if Length(aData) = 0
then Result := 0
else Result := Round(sum / Length(aData));
end;
dev steht bei mir für deviation ($80) und nicht für standard deviation. hiMean und loMean sind die Werte, die du mit deiner Funktion errechnest. hiNorm ist $B00 und loNorm ist $400. Meine Funktion CheckDelta() kannst du schlecht in deine CalcMeanValue() einbauen, sie baut doch auf deiner Funktion auf:
Delphi-Quellcode:
var
hiMean, loMean: Word;
begin
hiMean := CalcMeanValue(aHighValues);
loMean := CalcMeanValue(aLowValues);
if CheckDelta(hiMean, $B00, loMean, $400, $80)
then ShowMessage('hooray')
else ShowMessage('sob');
end;
marabu