Löst ein lineares Gleichungssystem der Form AX = Y. Die Instanz des polymorphen VIs richtet sich nach dem Datentyp an Eingangsmatrix und Bekannter Vektor.


icon

Es sei A die (m,n)-Eingangsmatrix, Y die Gesamtheit der m-Koeffizienten von Bekannter Vektor und X seien die n Elemente im Lösungsvektor für folgende Gleichung:

AX = Y

Wenn m>n ist, hat das Gleichungssystem mehr Gleichungen als Unbekannte. Es handelt sich somit um ein überbestimmtes System. Möglicherweise gibt es für AX = Y keine Lösung. Daher bestimmt das VI nach dem Verfahren der kleinsten Quadrate X, das widerum ||AX – Y|| minimiert.

Wenn m>n ist, hat das Gleichungssystem mehr Gleichungen als Unbekannte. Es handelt sich somit um ein unterbestimmtes System. Sie kann unendlich viele Lösungen haben, die AX = Y erfüllen. Das VI findet eine dieser Lösungen.

Wenn m=n und A eine nicht singuläre Matrix ist – das heißt, keine Zeile oder Spalte eine Linearkombination anderer Zeilen oder Spalten ist – kann das System für X durch Zerlegung der Eingangsmatrix A in die untere und obere Dreiecksmatrix L und U gelöst werden, so dass:

AX = LZ = Y

und

Z = UX

das System auch darstellen können. Beachten Sie, dass Z auch ein Vektor mit n Elementen ist.

Dreieckssysteme lassen sich leicht mit rekursiven Verfahren lösen. Wenn Sie aus A die Matrizen L und U gewinnen, können Sie folglich Z aus dem System LZ = Y und X aus dem System UX = Z bestimmen.

Bei mn kann das System in eine Orthogonalmatrix Q und eine obere Dreiecksmatrix R zerlegt werden, so dass A=QR gilt. Das lineare System kann dann durch QRX = Y dargestellt werden. Sie können dann RX = QTY lösen.

X kann bei diesem Dreieckssystem einfach mit Hilfe rekursiver Verfahren bestimmt werden.

Hinweis Es lässt sich nicht immer vorab bestimmen, ob die Matrix singulär ist, insbesondere bei großen Systemen. Mit dem VI "Lineare Gleichungen lösen" werden singuläre Matrizen erkannt und Fehlermeldungen angezeigt, so dass Sie nicht vorab prüfen müssen, ob ein gültiges System vorliegt.

Die numerische Implementierung der Matrixinvertierung ist nicht nur rechenintensiv, sondern es fallen wegen ihrer Rekursivität auch Rundungsfehlern besonders ins Gewicht, die durch den Fließkomma-Coprozessor in die berechneten Werte einfließen. Auch wenn die maximal mögliche Genauigkeit für die Berechnungen verwendet wird, kann das Gleichungssystem mit dem VI nicht immer gelöst werden.

Komplexe lineare Gleichungen lösen

Es sei A die (m,n)-Eingangsmatrix, Y die Gesamtheit der m-Koeffizienten von Bekannter Vektor und X seien die n Elemente im Lösungsvektor für das System

AX = Y

Wenn m>n ist, hat das Gleichungssystem mehr Gleichungen als Unbekannte. Es handelt sich somit um ein überbestimmtes System. Möglicherweise gibt es für AX = Y keine Lösung. Daher wird X nach der Methode der kleinsten Quadrate bestimmt, bei der ||AX – Y|| minimiert wird.

Wenn m>n ist, hat das Gleichungssystem mehr Gleichungen als Unbekannte. Es handelt sich somit um ein unterbestimmtes System. Sie könnte unendlich viele Lösungen haben, die AX = Y erfüllen. Das VI wählt dann eine dieser Lösungen aus.

Wenn m = n ist und A eine nicht singuläre Matrix ist (das heißt, keine Zeile oder Spalte eine Linearkombination anderer Zeilen oder Spalten ist), kann das System für X durch Zerlegung der Eingangsmatrix A in die untere und obere Dreiecksmatrix L und U gelöst werden, so dass:

AX = LZ = Y

und

Z = UX

das System auch darstellen können. Beachten Sie, dass Z auch ein Vektor mit n Elementen ist.

Dreieckssysteme lassen sich leicht mit rekursiven Verfahren lösen. Wenn Sie aus A die Matrizen L und U gewinnen, können Sie folglich Z aus dem System LZ = Y und X aus dem System UX = Z bestimmen.

Wenn mn, kann A in eine orthogonale Matrix Q und eine obere Dreiecksmatrix R zerlegt werden, so dass A = QR und das lineare System durch QRX = Y dargestellt werden kann. Sie können dann RX =QHYlösen. X kann bei diesem Dreieckssystem einfach mit Hilfe rekursiver Verfahren bestimmt werden.

Hinweis Die numerische Implementierung der Invertierung von Matrizen ist nicht nur rechenintensiv, sondern kann wegen ihrer Rekursivität auch Rundungsfehler enthalten, die durch den Fließkomma-Coprozessor verursacht werden. Auch wenn die Berechnungen mit größtmöglicher Genauigkeit durchgeführt werden, kann das Gleichungssystem mit dem VI nicht immer gelöst werden.

Beispiele

Die folgenden Beispieldateien sind in LabVIEW enthalten.

  • labview\examples\Mathematics\Linear Algebra\Linear Algebra Calculator.vi