Einzelnen Beitrag anzeigen

Benutzerbild von phlux
phlux

Registriert seit: 4. Nov 2002
Ort: Witten
1.335 Beiträge
 
Delphi 6 Personal
 
#1

Problem beim Addieren von Wahrscheinlichkeiten

  Alt 7. Jun 2004, 19:56
Servus

Also folgendes Problem, ich habe ein Array (ungefähr 500 Felder groß) vom Typen Double, die Werte liegen alle so im Bereich von 0 bis 1 (zb 0,30509745127 usw) diese Werte spiegeln die Häufigkeit eines Ereignisses wieder (sprich in diesem Falle ~30%), wie gesagt will ich jetzt die ganze Reihe von WSK addieren, das mache ich nach folgender Formel:

Angenommen a, b,... n sind die WSK:

(a*b*...*n)
------------------------------------
(a*b*...*n)+(1-a)*(1-b)*...*(1-n)

Programmtechnisch hab ich das wie folgt realisiert:

Delphi-Quellcode:
uses
  Math;

var
  wsk: Array of Double;
  i: Integer;
  zaehler: Double;
  nenner: Double;
  rWSK: Double;

begin
  zaehler := wsk[0];
  for i := 1 to High(wsk) do
  begin
    zaehler := zaehler * wsk[i];
  end;
  nenner := 1 - wsk[0];
  for i := 1 to High(wsk) do
  begin
    nenner := nenner * (1 - wsk[i]);
  end;
  rWSK := zaehler / (zaehler + nenner);
  rWSK := RoundTo((rWSK * 100), -2);
end;
Soweit so gut, allerdings krieg ich als Ergebnis winzigkleine Werte raus, was partout nicht sein kann (bei einer geschätzten durchschnittl. WSK von etwa 50%), also die Werte liegen so im bereich von -9e^26
Weiß jemand wo der Fehler im Algorithmus ist?

mfg phluphlu
Christian "phlux" Arndt
  Mit Zitat antworten Zitat