Lineares Gleichungssystem in MATLAB
-
Lösen eines linearen Gleichungssystems mit der Funktion
solve()
in MATLAB -
Lösen eines linearen Gleichungssystems mit der Funktion
linsolve()
in MATLAB
In diesem Tutorial wird die Lösung des linearen Gleichungssystems mit den Funktionen solve()
und linsolve()
in Matlab behandelt.
Lösen eines linearen Gleichungssystems mit der Funktion solve()
in MATLAB
Wir können die in Matlab eingebaute Funktion solve()
verwenden, um das lineare Gleichungssystem in Matlab zu lösen. Zunächst können wir die Variablen mit der Variable syms
definieren. Danach können wir die Gleichungen in Matlab schreiben. Danach müssen wir die Funktion solve()
verwenden, um die Gleichungen zu lösen. Lassen Sie uns zum Beispiel einige Gleichungen in Matlab definieren und ihre Lösung mit der Funktion solve()
finden. Siehe den Code unten.
syms x y z
eq1 = 2*x + y + 2*z == 1;
eq2 = 2*x + 5*y - z == 2;
eq3 = -3*x + 2*y + 6*z == 10;
matx = solve([eq1, eq2, eq3], [x, y, z]);
xValue = matx.x
yVlaue = matx.y
zValue = matx.z
Ausgabe:
xValue =
-82/93
yVlaue =
29/31
zValue =
85/93
Wie Sie sehen können, gibt es drei Variablen in der Gleichung und es gibt drei Antworten. Sie können auch die Funktion vapsolve()
anstelle der Funktion solve()
verwenden, um die Antwort numerisch zu erhalten. Um die Funktion vpasolve()
zu verwenden, müssen Sie im obigen Code den Funktionsnamen solve
in vpasolve
ändern. Liegen die Gleichungen in Matrixform vor, können Sie die Funktion linsolve()
verwenden.
Lösen eines linearen Gleichungssystems mit der Funktion linsolve()
in MATLAB
Die Funktion linsolve()
wird anstelle der Funktion solve()
verwendet, wenn Sie Matrizen anstelle von Gleichungen haben. Wir können die Gleichungen auch mit der Funktion equationsToMatrix()
in Matrixform umwandeln. Lassen Sie uns zum Beispiel einige Gleichungen in Matlab definieren und ihre Lösung mit der Funktion linsolve()
finden. Siehe den Code unten.
syms x y z
eq1 = 2*x + y + 2*z == 1;
eq2 = 2*x + 5*y - z == 2;
eq3 = -3*x + 2*y + 6*z == 10;
[matA,matB] = equationsToMatrix([eq1, eq2, eq3], [x, y, z])
matX = linsolve(matA,matB)
Ausgabe:
matA =
[ 2, 1, 2]
[ 2, 5, -1]
[ -3, 2, 6]
matB =
1
2
10
matX =
-82/93
29/31
85/93
Die Funktionen solve()
und linsolve()
werden mit der symbolischen mathematischen Toolbox geliefert, stellen Sie also sicher, dass Sie die Toolbox installiert haben, um diese Funktionen zu verwenden.