This is documentation for Mathematica 4, which was
based on an earlier version of the Wolfram Language.
View current documentation (Version 11.2)

 Documentation /  Mathematica /  Das Mathematica Buch /  Eine praktische Einführung in Mathematica /  Symbolische Mathematik /

Relationale und logische OperatorenDifferentialgleichungen

1.5.7 Gleichungen lösen

Ein Ausdruck wie x^2 + 2 x - 7 == 0 stellt in Mathematica eine Gleichung dar. Häufig werden Sie Gleichungen wie diese lösen müssen, um herauszufinden, für welche Werte von x sie wahr sind.

Dies ergibt die zwei Lösungen der quadratischen Gleichung . Die Lösungen werden als Ersetzungen für x angegeben.

In[1]:= Solve[x^2 + 2x - 7 == 0, x]

Out[1]=

Hier sind die numerischen Werte der Lösungen.

In[2]:= N[ % ]

Out[2]=

Sie erhalten eine Liste der konkreten Lösungen für x, indem Sie die von Solve erzeugten Regeln mit dem Ersetzungsoperator auf x anwenden.

In[3]:= x /. %

Out[3]=

Die Regeln können Sie genausogut auf jeden anderen Ausdruck, der x enthält, anwenden.

In[4]:= x^2 + 3 x /. %%

Out[4]=

Finden und Einsetzen von Lösungen bei Gleichungen

Solve versucht immer, explizite Formeln für die Lösungen von Gleichungen zu finden. Ein grundlegender mathematischer Satz besagt jedoch, daß für hinreichend komplizierte Gleichungen keine expliziten algebraischen Formeln angegeben werden können. Für algebraische Gleichungen in einer Variablen, in denen die höchste Potenz der Variablen nicht größer als vier ist, kann Mathematica immer Formeln für die Lösungen angeben. Wenn jedoch die höchste Potenz fünf oder mehr ist, kann es mathematisch unmöglich sein, explizite algebraische Formeln für alle Lösungen anzugeben.

Mathematica kann algebraische Gleichungen in einer Variablen immer lösen, wenn die höchste Potenz kleiner als fünf ist.

In[5]:= Solve[x^4 - 5 x^2 - 3 == 0, x]

Out[5]=

Es kann einige Gleichungen mit größeren Potenzen lösen.

In[6]:= Solve[x^6 == 1, x]

Out[6]=

Es gibt jedoch einige Gleichungen, für die es mathematisch unmöglich ist, explizite Formeln für die Lösungen zu finden. Mathematica verwendet zur Darstellung der Lösungen in diesem Fall Root-Objekte.

In[7]:= Solve[2 - 4 x + x^5 == 0, x]

Out[7]=

Auch wenn Sie keine expliziten Formeln erhalten, können Sie immer noch die numerischen Lösungen finden.

In[8]:= N[ % ]

Out[8]=

Mit Mathematica können Sie neben rein algebraischen Gleichungen auch einige Gleichungen lösen, in denen andere Funktionen vorkommen.

Nach der Ausgabe einer Warnung gibt Mathematica eine Lösung für diese Gleichung an.

In[9]:= Solve[ Sin[x] == a, x ]

Out[9]=

Es ist wichtig, zu wissen, daß eine Gleichung wie tatsächlich eine unendliche Anzahl möglicher Lösungen besitzt, die sich in diesem Fall um ein Vielfaches von unterscheiden. In Voreinstellung liefert Solve jedoch nur eine Lösung, gibt aber eine Meldung aus, die besagt, daß es weitere Lösungen geben könnte. Abschnitt 3.4.5 beschreibt dies detaillierter.

Für eine transzendente Gleichung wie diese gibt es keine explizite Lösung in „geschlossener Form".

In[10]:= Solve[ Cos[x] == x, x ]

Out[10]=

Eine numerische Näherungslösung läßt sich mit FindRoot und der Angabe eines Startwertes für x finden.

In[11]:= FindRoot[ Cos[x] == x, {x, 1} ]

Out[11]=

Solve kann auch Gleichungen, in denen symbolische Funktionen auftauchen, handhaben. In solchen Fällen druckt es wiederum eine Warnung und gibt dann Ergebnisse mit formalen inversen Funktionen.

Mathematica liefert ein Ergebnis mit der formalen inversen Funktion von f.

In[12]:= Solve[ f[x^2] == a, x ]

Out[12]=

Lösung eines Gleichungssystems

Mit Mathematica können Sie auch Gleichungssysteme lösen. Sie geben einfach die Liste der Gleichungen an und spezifizieren die Liste der Variablen, nach denen aufgelöst werden soll.

Hier ist eine Liste zweier simultaner Gleichungen, die nach den Variablen und  aufgelöst werden sollen.

In[13]:= Solve[{a x + y == 0, 2 x + (1-a) y == 1}, {x, y}]

Out[13]=

Hier sind einige kompliziertere simultane Gleichungen. Die zwei Lösungen werden als zwei Listen mit Ersetzungen für x und y angegeben.

In[14]:= Solve[{x^2 + y^2 == 1, x + 3 y == 0}, {x, y}]

Out[14]=

Dies benutzt die Lösungen zur Evaluierung des Ausdrucks x + y.

In[15]:= x + y /. %

Out[15]=

Mathematica kann jedes lineare Gleichungssystem lösen. Es kann eine große Klasse simultaner Polynom-Gleichungen lösen. Auch wenn es die Gleichungen nicht explizit lösen kann, wird Mathematica sie gewöhnlich auf eine viel einfachere Form reduzieren.

Wenn Sie mit Gleichungssystemen in mehreren Variablen arbeiten, ist es häufig vorteilhaft, die Gleichungen durch Eliminierung einiger Variablen zu reorganisieren.

Dies eliminiert y aus den zwei Gleichungen, und es ergibt sich eine einzige Gleichung für x.

In[16]:= Eliminate[{a x + y == 0, 2 x + (1-a) y == 1}, y]

Out[16]=

Bei mehreren Gleichungen gibt es keine Garantie, daß irgendeine konsistente Lösung für eine Variable existiert.

Es gibt keine konsistente Lösung für diese Gleichungen, deshalb gibt Mathematica {} zurück und zeigt damit an, daß die Lösungsmenge leer ist.

In[17]:= Solve[{x==1, x==2}, x]

Out[17]=

Auch für diese Gleichungen gibt es für fast alle Werte von a keine konsistente Lösung.

In[18]:= Solve[{x==1, x==a}, x]

Out[18]=

Die allgemeine Frage, ob ein Gleichungssystem irgendeine konsistente Lösung besitzt, ist recht subtil. Zum Beispiel sind die Gleichungen {x==1, x==a} für die meisten Werte von a inkonsistent, deshalb gibt es keine mögliche Lösung für x. Wenn jedoch a gleich 1 ist, dann haben die Gleichungen eine Lösung. Solve ist so konstruiert, daß es allgemeine Lösungen für Gleichungen liefert. Es verwirft alle Lösungen, die nur existieren, wenn spezielle Bedingungen zwischen Parametern erfüllt werden.

Wenn Sie Reduce anstelle von Solve verwenden, wird Mathematica alle möglichen Lösungen für ein Gleichungssystem erhalten, auch solche, die nur unter speziellen Bedingungen an die Parameter gelten.

Dies zeigt, daß die Gleichungen nur für a==1 eine Lösung haben. Die Schreibweise x==1 && a==1 repräsentiert die Voraussetzung, daß sowohl x==1 als auch a==1 erfüllt sein müssen.

In[19]:= Reduce[{x==1, x==a}, x]

Out[19]=

Dies liefert den vollständigen Satz möglicher Lösungen dieser Gleichung. Die Antwort wird mit Hilfe einer Kombination einfacherer Gleichungen ausgedrückt. && bezeichnet Gleichungen, die gleichzeitig wahr sein sollen; || bezeichnet Alternativen.

In[20]:= Reduce[a x - b == 0, x]

Out[20]=

Dies liefert eine kompliziertere Kombination von Gleichungen.

In[21]:= Reduce[a x^2 - b == 0, x]

Out[21]=

Funktionen zum Lösen und Manipulieren von Gleichungen

Relationale und logische OperatorenDifferentialgleichungen