Lineares Gleichungssystem in MATLAB

Ammar Ali 30 Januar 2023
  1. Lösen eines linearen Gleichungssystems mit der Funktion solve() in MATLAB
  2. Lösen eines linearen Gleichungssystems mit der Funktion linsolve() in MATLAB
Lineares Gleichungssystem 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.

Autor: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook