Einzelnen Beitrag anzeigen

Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#16

Re: Mittelwert und Standardabweichung

  Alt 24. Apr 2006, 11:40
Zitat:
2. An welcher Stelle kann ich einsteigen, wenn ich nur z.B. die Werte zwischen 200.000 und 300.000 berechnet haben will?
Delphi-Quellcode:
  if ValueValid then
  begin // falls in Value eine gültige Zahl war diese in Avg/Dev kummulieren
    Inc(ValueCount);
    Value := Value * ValueSign;

// hier nur die 100000'te bis 200000'te Zahl in berechnung berücksichtigen
    if (ValueCount >= 100000) and (ValueCount < 200000) then
    begin
      Avg := Avg + Value;
      Dev := Dev + Sqr(Value);
    end else
      if (ValueCount = 200000) then
      begin // hier bei 200000 Zahl die realen werte ausrechnen
        Dev := (Dev * (200000-100000) - Sqr(Avg)) / (Sqr((200000-100000)) - (200000-100000));
        Avg := Avg / (200000-100000);
      end;

    ValueValid := False;
    Value := 0;
    ValueSign := +1;
  end else
Zitat:
Kann ich CurChar und EndChar gleich zu Beginn die Positionen zuweisen?
Nein das geht nicht, es sei denn alle Zahlen verbrauchen exakt die gleiche Anzahl an Ziffern. Also angenommen bei einer 3 stelligen Zahl wären 2 Leerzeichen davor = 5 zeichen, bei einer 1 stelligen Zahl also 4 Leerzeichen == 5 zeichen, ergo alle Zahlen belegen 5 Bytes in der Datei, dann geht das direkt zu poitionieren. Statt aber CurChar etc. zu verändern einfach mit Stream.Position := 5 * 100000 auf die 100000'te Zahl positionieren und dann valueCount nur bis 100000 hochzählen lassen.

Gruß Hagen
  Mit Zitat antworten Zitat