Maxima

Gleichungen in 1 Variablen

Inhalt

Lösen einer linearen Gleichung

Aufgabenstellung: Die lineare Gleichung a*x + b = c soll nach x aufgelöst werden. MAXIMA lässt uns dafür 2 Möglichkeiten offen - wir können die Gleichung mit Hilfe von Äquivalenzumformungen lösen oder mit Hilfe des eingebauten Lösungsbefehls SOLVE arbeiten.

ad 1) Äquivalenzumformungen
Aequivalenzumformung
ad 2) SOLVE-Befehl

Der SOLVE-Befehl verlangt nach der zu lösenden Gleichung und der Variablen (den Variablen), nach denen die Gleichung aufgelöst werden soll!

Solve

Übung:

  • Berechnen Sie aus der Gleichung s = m - k·a/(k + a) die Variable k durch Äquivalenzumformung und über den SOLVE-Befehl.

 

Lösung: MAXIMA-Datei

zurueck

SOLVE und ALGSYS

Das erste Argument von SOLVE ist die zu lösenden Gleichung. Falls das Argument keine Gleichung ist, wird das Argument zu einer Gleichung gemacht, indem es gleich Null gesetzt wird. Das zweite Argument ist die Variable, nach der gelöst werden soll.

  • SOLVE(u, v) - gibt als Ergebnis eine Liste, deren einzelne Glieder Gleichungen sind (ähnlich der Angabe), zurück.
  • ALGSYS([u], [v]) - der übergeordnete Lösungsbefehl von MAXIMA greift auf SOLVE zurück, wenn algebraisch eindeutig zu berechnenden Lösungen existieren mit dem Vorteil, dass hier zusätzliche Regeln wie REALONLY berücksichtigt werden, und greift auf numerische Verfahren zurück, wenn keine eindeutigen Lösungen möglich sind.

Hinweis - den Befehl "Lösen" (SOLVE) erhält man auch über das Menü (GLEICHUNGEN - LÖSEN) und mit Hilfe der Symbolleiste über den Button Lösen. Im Menü gibt es auch einen eigenen Punkt NUMERISCH LÖSEN, der auf den Befehl find_root() zugreift.

Bei Aufruf über das Menü öffnet sich folgender Dialog:

Gleichungen

Übungen:

  • Berechne die Lösungen der Gleichung: x^4 + 62·x^3/15 - 112·x^2/25 - 18·x/25 + 1/15 = 0.
  • Löse die Gleichung x^3 - 2x^2 + 5x - 4 = 0 nach x.

 

Lösung: MAXIMA-Datei

zurueck

Einschränkung der Lösungsmenge

Die Menge, über der der SOLVE-Befehl von MAXIMA arbeitet, lässt sich nicht direkt beeinflussen. Einschränkungen über ASSUME etc. werden hier ignoriert. Über den Befehl algsys können aber Einschränkungen vorgenommen werden, indem die Variable realonly gesetzt wird.

Beispiel:

Löse folgende Gleichung zuerst in der Grundmenge C, anschließend nur für reelle Zahlen: x3 - 4x2 + 6x - 4 = 0

Einschraenkung

Übungen:

  • Löse folgende Gleichung nach a in den Grundmengen R und C (reelle und komplexe Lösungen): a3 + 2·a2 + 9·a + 18 = 0
  • Löse folgende Gleichung nach m in den Grundmengen R und C:
    m2 + 2·m + 3 = 0
  • Löse die Gleichung mit Formvariablen a, b, c nach x: a·x2 + b·x + c = 0

 

Lösung: MAXIMA-Datei

zurueck

Numerisches Lösen von Gleichungen

Nicht alle Gleichungen lassen sich exakt lösen. Bereits Polynomgleichungen höherer Ordnung, aber auch div. trigonometrische Gleichungen, Exponentialgleichungen etc. lassen sich nur numerisch lösen.
MAXIMA bietet hierfür mehrere Möglichkeiten, entweder im Menü

  • GLEICHUNGEN - NUMERISCH LÖSEN (der Befehl find_root
    (numerische Berechnung der Nullstellen einer Funktion unter Angabe eines Suchintervalls, Achtung: keine Gleichung als Eingabe möglich!) auszuwählen, oder die Befehle
  • allroots bzw. realroots für Polynome oder aber den übergeordneten Befehl
  • algsys (der auch für Gleichungssysteme genutzt wird)
zu verwenden.

allroots

find_root

zurueck

Zugriff auf die Lösungen

Wie kann man auf Lösungen, die mit SOLVE berechnet wurden, zugreifen. Einige Hinweise dazu finden Sie im Kapitel zu Gleichungssystemen unter: c_gleich02.htm#solve.

Eine weitere Möglichkeit, einfacher auf Lösungen zuzugreifen, ist die Definition einer eigenen Funktion - wir nennen sie in Anlehnung an DERIVE "solutions()" -, die als Eingabe ein Polynom poly erwartet (dieses wird anschließend in eine Gleichung poly = 0 verwandelt) und die Ergebnisse direkt als Liste ausgibt. Wir verwenden dazu die LAMBDA-Funktion von MAXIMA.

solutions

zurueck

© PH-NOe, letzte Änderung am 22. Juni 2008, erstellt von Walter Wegscheider