phpbar.de logo

Mailinglisten-Archive

[php] Mathematische Funktionen

[php] Mathematische Funktionen

Tobias Ratschiller tobias_(at)_dnet.it
Wed, 9 Feb 2000 00:57:21 +0100


> mein php script bekommt in einem einfachen Fall z. B. sowas:
>
> f(x) = m * x + b
>
> Hat da einer ne Idee wie ich das angehen könnte, bevor ich mich in
> tausend if() stürze...

Ifs werden in dem Fall schwierig werden. :)
Einen mathematischen Parser programmiert in der Regel so, daß der Ausdruck
aufgesplittet und in Postfixes umgewandelt wird. Dann eignet sich ein Baum
für die Repräsentation gut; ein Ausdruck wie x = a + b * c kann dann so
aussehen:

   ^3
  /=\
 /   \
x     ^2
     /+\
    /   \
   a     ^1
        /*\
       /   \
      b     c

Diesen Tree kann man dann bottom-up durchlaufen:
1: b*c
2: (Resultat von 1) + a
3: Resultat von 2

Das ist ein beliebter Spiel in jeder Programmiersprache; Du könntest Dir
einen entsprechenden C oder Pascal Source ansehen, und versuchen zu
portieren. Es ist wohl auch in jedem Standardbuch erklärt (Principles of
Systems Programming von Robert M. Graham, z.B.). In PHP habe ich sowas
bislang noch nicht gesehen; aber wenn Du die Gifs tatsächlich mit PHP
gezeichnet hast, sollte das auch nicht unlösbar sein. :)

Mit freundlichen Grüßen,
  Tobias Ratschiller



php::bar PHP Wiki   -   Listenarchive