NAN Problem bei PHP-Berechnung

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
schmidii
Mitglied
Beiträge: 25
Registriert: 30.12.2005 21:11

NAN Problem bei PHP-Berechnung

Beitrag von schmidii »

Hallo,
ich führe mit folgendem Script eine Berechnung durch:



$ergebniss2= log (- $rating/($k0*$i-$rating))/(log(1+$i));


echo $gerundetergebniss2;



Für meine Tests verwende ich folgende Daten:
$k0= 10000
$i= 10

Wenn ich bei $rating den Wert variiere ist $ergebniss teilweise NAN. Dies kommt meist vor wenn ich den Wert für $rating kleiner als 83,34 wähle.

Kann mir vielleicht jemand sagen wie ich das unterdrücken kann, so das die Berechnung ordentlich durchgeführt wird, egal welcher Wert $rating hat?


schonmal Danke für Eure Hilfe.

Gruss
Alex
Benutzeravatar
Stefane
Mitglied
Beiträge: 784
Registriert: 04.02.2006 22:43
Wohnort: Rathenow
Kontaktdaten:

Beitrag von Stefane »

NAN bedeutet Not a Number.
Ich denke mal, das kommt dadurch zustande, dass irgendwann der Wert
von (- $rating/($k0*$i-$rating)) kleiner als Null ist, also negativ. Und dann ist es klar, dass ein Fehler heraus kommt, denn der Logarithmus einer negativen Zahl ist nicht definiert.
schmidii
Mitglied
Beiträge: 25
Registriert: 30.12.2005 21:11

Beitrag von schmidii »

Ja sowas dfacht eich mir auch.

Ich habe es jetzt erstmal mit is_nan überprüft und bei True eine entsprechende Fehlermeldung an den User ausgegebne ($rating) wird vom User eingetippt.


Ich hoffte das hier jemand einen Weg weiss, wie man das umgehen kann und für jede Zahl die Berechnung durchführen kann.

Trotzdem Danke.
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

Dazu müsste man erst einmal genau wissen was die Funktion tun soll?
Vielleicht ansonsten mit abs() verhindern dass etwas negatives eingebaut wird? Aber im Prinzip verändert das die Funktion ja...
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Antworten

Zurück zu „Coding & Technik“