Flash & Mathe

Newb

Erfahrenes Mitglied
Hallo,

ich habe versucht folgende Formel in ein Programm einzubauen:

(2894/(1+259*e^(-0.0025*X))) *Z%


Jedoch gab es da einige Probleme da ActionScript das ^ als Bitweiser ansieht anstatt als Exponent. Das konnte ich mit der Math.pow Funktion ausgleichen.

Wenn man bei dieser Formel einige Werte ersetzt (Wertung = 2000 und Z = 60%) so müsste man auf einen Wert um 700 kommen - Einen genauen Wert kann ich nicht sagen, aber ich weiß das mein Ergebnis falsch ist (66745494.4516205 - Die Nachkommazahl ist egal).

Zur Zeit sieht es folgender Maßen aus:
(Z = 60%)
(Wertung = 2000)

Code:
rechnen_btn.onRelease = function(){
	if (wertung > 1500){
		//(2894/(1+259*e^(-0.0025*X))) *Z%
		
		// e
		e = 2.71828182845905;

		// ^(-0.0025*X)
		exponent = -0.0025 * wertung;
		
		ergebnis = (2894 / Math.pow(e, exponent)*259+1)* 0.60;
		trace(ergebnis);

Kann irgendwer die Formel in ActionScript übersetzen?
Oder was habe ich falsch gemacht ^^ ?

MfG:
General TG
 
Hi,

wie ich das sehe, hast Du eine Klammer falsch gesetzt. Die Formel
Code:
(2894/(1+259*e^(-0.0025*X))) *Z%
sollte so umgesetzt werden:
Code:
var ergebnis = (2894 / (1 + 259 * Math.pow(e, (-0.0025 * x)))) * 0.6;
(In der Originalformel wird 2894 durch das Gesamtergebnis von 1+259*e^(-0.0025*x) geteilt - Du teilst aber zuerst 2894 durch Math.pow(e, exponent), multiplizierst dann mit 259 und addierst die Zahl 1 zum Schluss.

Gruß

P.S.: schau mal, ob es bei den Membern des Math-Objektes nicht eine Konstanze für e gibt - falls ja, dürfte das genauer sein.
.
 
Zurück