Lineare Gleichungssyteme: Unterschied zwischen den Versionen

Aus Augenbit

Zeile 34: Zeile 34:


x[1]:=x[1],x[2]:=[2];x[3]:=[3];
x[1]:=x[1],x[2]:=[2];x[3]:=[3];


'''Probleme''' bei dieser Variante:
'''Probleme''' bei dieser Variante:


- Die Lösungen werden zwar ausgegeben, aber mit zwei Fehlermeldungen.
- Die Lösungen werden zwar ausgegeben, aber mit zwei Fehlermeldungen.


- Ändert man einen Koeffizienten und will alles nochmal ausführen, bleiben die Ergebnisse gleich.
- Ändert man einen Koeffizienten und will alles nochmal ausführen, bleiben die Ergebnisse gleich.

Version vom 10. November 2011, 14:42 Uhr

In Maple gibt es mehrere Möglichkeiten zur Lösung von Linearen Gleichungssystemen:

1. Schnellste Variante

Man gibt alle Gleichungen nacheinander ein und lässt es sich anschließend lösen:

>eqns:={3*x+y+2*z=3, 4*x+2*y-z=6, -2*x+3*y+4*z=2}: eqns;

solve (eqns);

2. Übersichtliche Variante

Als ersten Schritt definiert man eine Gleichung mit vier Unbekannten:

> gl:=(a,b,c,d) -> a*x[1]+b*x[2]+c*x[3]=d:

gl(a,b,c,d);


Anschließend werden die Koeffizienten und das Ergebnis eingegeben:

> gl1:=gl(2,3,4,5):

gl2:=gl(1,0,-2,2):

gl3:=gl(2,5,6,1):

gl1;gl2;gl3;


Und dann den Befehl zum Lösen des Gleichungssystems:

> assign (solve({gl1,gl2,gl3},{x[1],x[2],x[3]})):

x[1]:=x[1],x[2]:=[2];x[3]:=[3];


Probleme bei dieser Variante:

- Die Lösungen werden zwar ausgegeben, aber mit zwei Fehlermeldungen.

- Ändert man einen Koeffizienten und will alles nochmal ausführen, bleiben die Ergebnisse gleich.

3. Mit Hilfe der Befehle von LinearAlgebra

Bevor man die einzelnen Gleichungen eingibt, startet man Maple im im Modus Lineare Algebra:

> restart; with (LinearAlgebra):

Jetzt man man die Gleichungen eingeben:

> A:= <<10|2|3>,<1|2|-2>,<5|-1|0>>;

b:= <-2,1,4>;


Anschließend A und b definieren als ein lineares 3x3-Gleichungssystem mit den Unbekannten x1, x2 und x3:

> ls:= Multiply (A, <x[1], x[2], x[3]>):

for i to 3 do ls[i] = b[i] od;


Lösen dieses Gleichungssystems, d.h. Lösen der Gleichung A x = b:

> for i to 3 do

x[i]:= evalf (LinearSolve (A, b)[i], 4);

od;