Matheproblem beim Potenzieren
Zostex
- php
0 Thoralf Knuth0 Thomas Meinike0 Zostex
Hallo:
ich möchte folgende Gleichung lösen:
A=(x/y)hoch0,407 (also Potenzieren).
Mit der Funktion bcpow() sind aber keine Operanden, jedenfalls nicht der Hoch-Operand, zulässig mit Stellen nach dem Komma! Zudem muss ja noch die Funktion enable-bcmath enabled sein. Die ist hoffenlch der Fall, jedenfalls soweit ich das von meinem Provider gehört habe.
Kann man die Gleichung mittels PHP irgdenwie anders lösen?
Vielen Dank an Euch Fachleute - weiß nicht was ich sonst machen soll :-(
Gru0, Zostex
Guten Abend,
Mit der Funktion bcpow() sind aber keine Operanden, jedenfalls nicht der Hoch-Operand, zulässig mit Stellen nach dem Komma!
Wo steht das denn? http://www.php.net/manual/de/function.bcpow.php spricht selbst genau wie die Einführung zur Binary Calculator Math von beliebiger Genauigkeit, weswegen die Operanden als Strings übergeben werden. Dumme Frage, aber hast Du als Komma den Dezimalpunkt verwendet? M.W. sollten auch 'Komma-Zahlen' Exponenten sein dürfen, soweit ich das überblicke.
Zudem muss ja noch die Funktion enable-bcmath enabled sein. Die ist hoffenlch der Fall, jedenfalls soweit ich das von meinem Provider gehört habe.
http://www.php.net/manual/de/ref.bc.php
Seit PHP 4.0.4 ist libbcmath in PHP enthalten. Sie brauchen keine externen Bibliotheken für diese Erweiterung.
As of PHP 4.0.4, the BC math library routines are bundled in the
standard PHP distribution. There is no need to install any additional files.
Sollte also gehen.
Kann man die Gleichung mittels PHP irgdenwie anders lösen?
Bestimmt, aber dann eher mit einer mathematischen Zerlegung, wie auch immer, ist bei mir zumindest ein paar Jahre her ;)
Gruss, Thoralf,
der um die Zeit mit Sicherheit wieder irgendwo Mist geschrieben hat.
Hallo,
Wo steht das denn?
hier: http://selfphp3.de/funktionsreferenz/mathematische_funktionen/bcpow.php
Dumme Frage, aber hast Du als Komma den Dezimalpunkt verwendet? M.W. sollten auch 'Komma-Zahlen' Exponenten sein dürfen, soweit ich das überblicke.
Darauf hab ich geachtet. Allerdings nicht auf den Einschluß in "", ich probiers mal...
Zudem muss ja noch die Funktion enable-bcmath enabled sein. Die ist hoffenlch der Fall, jedenfalls soweit ich das von meinem Provider gehört habe.
Prima un danke für die schnelle Hilfe.
Einen schönen Abend noch ...
Zostex
Nochmal ich ...
Darauf hab ich geachtet. Allerdings nicht auf den Einschluß in "", ich probiers mal...
... leider klappt das nicht.
Bin kein großer Mathematiker. Hast Du eventuell einen Ansatz wie ich die Gleichung lösen kann?
Vielen Dank nochmal,
Gruß, Zostex
So kurz vorm Schlafen nochmal denken
... leider klappt das nicht.
Stimmt :( Hab das jetzt hier offline, online und per Gockel probiert. Es geht so nicht.
Bin kein großer Mathematiker. Hast Du eventuell einen Ansatz wie ich die Gleichung lösen kann?
Wenn's der Hoster hat/anbietet:
http://www.php.net/manual/en/function.gmp-pow.php
Da gibbet komplette Info, warum, wieso und wer schuld ist ;)
http://bugs.php.net/bug.php?id=10116&edit=1
Hab sonst nichts dazu gefunden und für ein komplettes Zerlegen und Umstellen in Integer-Arithmetik ist mein Mathematik-Unterricht doch schon zu lange her ;)
Moin,
Hab sonst nichts dazu gefunden und für ein komplettes Zerlegen und Umstellen in Integer-Arithmetik ist mein Mathematik-Unterricht doch schon zu lange her ;)
wenn es mit der Potenzierung partout nicht klappen
will, gehen stattdessen vielleicht exp() und ln()?
a ^ b kann man nämlich auch durch exp(b*ln(a)) ausdrücken.
Viele Grüße
Andreas
Hallo,
wenn es mit der Potenzierung partout nicht klappen
will, gehen stattdessen vielleicht exp() und ln()?
a ^ b kann man nämlich auch durch exp(b*ln(a)) ausdrücken.
Siehe </?m=75178&t=13549>.
MfG, Thomas
Hi!
Wo steht das denn? http://www.php.net/manual/de/function.bcpow.php spricht selbst genau wie die Einführung zur Binary Calculator Math von beliebiger Genauigkeit
Was sich IMHO aufs Ergebnis bezieht was da steht, oder? Bemerkenswert das das in SELFPHP ausdrücklich steht, Kompliment!
zur Lösung des Problems kann ich aber leider auch nicht beitragen :-(
Grüße
Andreas
Hallo,
ich möchte folgende Gleichung lösen:
A=(x/y)hoch0,407 (also Potenzieren).
Eine kleine Umformung sollte helfen:
<?php
$x=5;
$y=6;
$z=0.407;
$A=exp($z*log($x/$y));
print $A; // --> 0.92848145300242
?>
MfG, Thomas
Danke für die großartige Hilfe, jetzt klappts.
Gruss Zostex