Lieber Hinnerk,
hier sind zwei Loesungen zu Deinem Umkehrfunktionsproblem:
1. Exakt:
Loese einfach mit der Solve-Funktion die Gleichung nach x auf.
In[1]:= Solve[y == b2*x^2 + b1*x + b0, x]
Out[1]=
2
-b1 - Sqrt[b1 - 4 b2 (b0 - y)]
{{x -> -------------------------------},
2 b2
2
-b1 + Sqrt[b1 - 4 b2 (b0 - y)]
{x -> -------------------------------}}
2 b2
Sollte Dich nur der zweite Loesungsast, der wahrscheinlich positive,
interessieren, kannst Du wie folgt eine Function, z.B. "invf", definieren.
In[3]:= invf[x_] = x /. %[[2]]
Out[3]=
2
-b1 + Sqrt[b1 - 4 b2 (b0 - y)]
-------------------------------
2 b2
2. Angenaeherte Loesung:
Angenommen, das Polynom 2-ter Ordnung stellt eine Taylor-Entwicklung dar.
In diesem Fall sollte man anders vorgehen.
Hier erzeugen wir zunaechst eine entsprechende Entwicklungsreihe (Merke:
Entwicklungsreihen haben in Mathematica ein eigenes Datenformat und sind am
Ende durch einen Ordnungsindikator O[...] gekennzeichnet!)
In[6]:= Series[b2*x^2 + b1*x + b0, {x,0,2}]
Out[6]=
2 3
b0 + b1 x + b2 x + O[x]
Die Entwicklungsreihe kann mit der InverseSeries-Funktion invertiert werden.
In[5]:= InverseSeries[%]
Out[5]=
2
-b0 + x b2 (-b0 + x) 3
------- - ------------- + O[-b0 + x]
b1 3
b1
Mit "Normal" kann man die obige Entwicklungsreihe wieder in eine
gewoehnliche Formel ueberfuehren.
In[6]:= Normal[%]
Out[6]=
2
-b0 + x b2 (-b0 + x)
------- - -------------
b1 3
b1
Das funktioniert uebrigens auch fuer Entwicklungen hoeherer Ordnung!
Markus van Almsick
---------------------------------------------------------
Max-Planck-Institut fuer Biophysik, Frankfurt am Main
Tel. (069) 6031368 email:valmsick@XXXXXXX.de
Application Consultant, Wolfram Research Inc.
email:markus@XXXXXXX.com
|