Matrixoperationen in Octave

In dieser Lektion erkläre ich, wie man die wichtigsten Matrixoperationen in Octave mit einigen praktischen Beispielen durchführt.

Bevor wir beginnen, erstellen Sie zwei Matrix-Arrays.

Schreiben Sie eine Matrix M1 mit zwei Zeilen und zwei Spalten. Es handelt sich um eine quadratische Matrix.

>> M1=[1 4;2 3]
M 1 =
1 4
2 3

Jetzt schreiben Sie eine weitere quadratische Matrix M2 mit zwei Zeilen und zwei Spalten.

>> M2=[3 1;7 5]
M2 =
3 1
7 5

Hier sind einige Operationen der Matrixrechnung

Matrixaddition

Um zwei Matrizen zu addieren, geben Sie M1 + M2 ein

>> M1+M2
ans =
4 5
9 8

$$ M1 + M2 = \begin{pmatrix} 1 & 4 \\ 2 & 3 \end{pmatrix} + \begin{pmatrix} 3 & 1 \\ 7 & 5 \end{pmatrix} = \begin{pmatrix} 1+3 & 4+1 \\ 2+7 & 3+5 \end{pmatrix} = \begin{pmatrix} 4 & 5 \\ 9 & 8 \end{pmatrix} $$

Matrixsubtraktion

Um die Differenz zwischen zwei Matrizen zu berechnen, geben Sie M1-M2 ein

>> M1-M2
ans =
-2 3
-5 -2

$$ M1 - M2 = \begin{pmatrix} 1 & 4 \\ 2 & 3 \end{pmatrix} - \begin{pmatrix} 3 & 1 \\ 7 & 5 \end{pmatrix} = \begin{pmatrix} 1-3 & 4-1 \\ 2-7 & 3-5 \end{pmatrix} = \begin{pmatrix} -2 & 3 \\ -5 & -2 \end{pmatrix} $$

Matrixmultiplikation

Um das Produkt zwischen zwei Matrizen zu berechnen, geben Sie M1 * M2 ein

>> M1*M2
ans =
31 21
27 17

$$ M1 \cdot M2 = \begin{pmatrix} 1 & 4 \\ 2 & 3 \end{pmatrix} \cdot \begin{pmatrix} 3 & 1 \\ 7 & 5 \end{pmatrix} = \begin{pmatrix} 1 \cdot 3 + 4 \cdot 7 & 1 \cdot 1 + 4 \cdot 5 \\ 2 \cdot 3 + 3 \cdot 7 & 2 \cdot 1 + 3 \cdot 5 \end{pmatrix} = \begin{pmatrix} 31 & 21 \\ 27 & 17 \end{pmatrix} $$

Bitte beachten Sie, dass Sie das Produkt zwischen zwei Matrizen nur berechnen können, wenn die Anzahl der Spalten der ersten Matrix gleich der Anzahl der Zeilen der zweiten Matrix ist.

Elementweise Matrixmultiplikation

Dies ist eine weitere Art der Matrixmultiplikation. Bei dieser Operation wird das Produkt der Elemente der Matrix-Arrays berechnet, die die gleiche Position einnehmen.

Um diese Art der Multiplikation zu berechnen, müssen Sie das Symbol .* verwenden

>> M1 .* M2
ans =
3 4
14 15

Bei der elementweisen Multiplikation müssen die beiden Matrizen die gleiche Anzahl von Zeilen und Spalten haben.

$$ M1 \ .* \ M2 = \begin{pmatrix} 1 & 4 \\ 2 & 3 \end{pmatrix} \ .* \ \begin{pmatrix} 3 & 1 \\ 7 & 5 \end{pmatrix} = \begin{pmatrix} 1 \cdot 3 & 4 \cdot 1 \\ 2 \cdot 7 & 3 \cdot 5 \end{pmatrix} = \begin{pmatrix} 3 & 4 \\ 14 & 15 \end{pmatrix} $$

Skalare Matrixmultiplikation

Um eine Matrix mit einer Skalaren Zahl, zum Beispiel k = 2, zu multiplizieren, geben Sie 2 * M1 ein

>> 2*M1
ans =
2 8
4 6

Alle Elemente der Matrix werden mit der skalaren Zahl multipliziert.

$$ 2 \cdot M1 = 2 \cdot \begin{pmatrix} 1 & 4 \\ 2 & 3 \end{pmatrix} = \begin{pmatrix} 2 \cdot 1 & 2 \cdot 4 \\2 \cdot 2 & 2 \cdot 3 \end{pmatrix} = \begin{pmatrix} 2 & 8 \\4 & 6 \end{pmatrix} $$

Matrixdivision

In der linearen Algebra wird die Division zwischen zwei Matrizen berechnet, indem die erste Matrix mit der Inversen Matrix der zweiten multipliziert wird M1·M2-1.

Um diese Operation in Octave zu berechnen, geben Sie M1*inv(M2) ein

>> M1*inv(M2)
ans =
-2.87500 1.37500
-1.37500 0.87500

Alternativ können Sie auch M1/M2 eingeben

>> M1/M2
ans =
-2.87500 1.37500
-1.37500 0.87500

Das Ergebnis ist das Gleiche.

Elementweise Matrixdivision

Dies ist eine weitere Art der Matrixdivision. Bei dieser Operation wird der Quotient zwischen den Elementen der Arrays berechnet, die sich an der gleichen Position befinden.

Um diese Art der Division zu berechnen, müssen Sie das Symbol ./ verwenden

>> M1 ./ M2
ans =
0.33333 4.0000
0.28571 0.6000

Bei der elementweisen Division müssen die beiden Matrizen die gleiche Anzahl von Zeilen und Spalten haben.

$$ M1 \ ./ \ M2 = \begin{pmatrix} 1 & 4 \\ 2 & 3 \end{pmatrix} \ ./ \ \begin{pmatrix} 3 & 1 \\ 7 & 5 \end{pmatrix} = \begin{pmatrix} \frac{1}{3} & \frac{4}{1} \\ \frac{2}{7} & \frac{3}{5} \end{pmatrix} = \begin{pmatrix} 0.33333 & 0.28571 \\ 4 & 0.6 \end{pmatrix} $$

Matrixdivision durch einen Skalar

Wenn Sie eine Matrix durch eine Skalare Zahl, zum Beispiel k = 2, teilen möchten, geben Sie M1 / 2 ein

>> M1/2
ans =
0.50000 2.00000
1.00000 1.50000

Die Elemente der Matrix werden durch die skalare Zahl geteilt.

$$ \frac{M1}{2} = \frac{1}{2} \cdot \begin{pmatrix} 1 & 4 \\ 2 & 3 \end{pmatrix} = \begin{pmatrix} \frac{1}{2} \cdot 1 & \frac{1}{2} \cdot 4 \\ \frac{1}{2} \cdot 2 & \frac{1}{2} \cdot 3 \end{pmatrix} = \begin{pmatrix} 0.5 & 2 \\ 1 & 1.5 \end{pmatrix} $$

Elementweise Matrixpotenzierung

Bei dieser Operation wird die Potenzierung aller Elemente der Matrix durch den gleichen Exponenten berechnet.

Um diese Art der Operation durchzuführen, müssen Sie das Symbol .^ verwenden

>> M1.^2
ans =
1 16
4 9

$$ M1 \ \text{.^} \ 2 = \begin{pmatrix} 1^2 & 4^2 \\ 2^2 & 3^2 \end{pmatrix} = \begin{pmatrix} 1 & 16 \\ 4 & 9 \end{pmatrix} $$

Matrixdeterminante

Um die Determinante einer quadratischen Matrix zu berechnen, verwenden Sie die Funktion det()

>> det(M1)
ans = -5

$$ \text{det} (M1) = det \begin{pmatrix} 1 & 4 \\ 2 & 3 \end{pmatrix} = 1 \cdot 3 - 4 \cdot 2 = -5 $$

Rang

Um den Rang einer quadratischen Matrix zu berechnen, verwenden Sie die Funktion rank()

>> rank(M1)
ans = 2

Transponierte Matrix

Um eine Matrix zu transponieren, verwenden Sie die Funktion transpose()

>> transpose(M1)
ans =
1 2
4 3

Alternativ können Sie die Matrix transponieren, indem Sie nach dem Matrixnamen ein einzelnes Anführungszeichen hinzufügen

>> M1'
ans =
1 2
4 3

Bei der Transposition werden die Zeilen der Matrix zu Spalten. $$ \begin{pmatrix} 1 & 4 \\ 2 & 3 \end{pmatrix}^T = \begin{pmatrix} 1 & 2 \\ 4 & 3 \end{pmatrix} $$

Inverse Matrix

Um die Inverse Matrix zu berechnen, verwenden Sie die Funktion inv()

>> inv(M1)
ans =
-0.60000 0.80000
0.40000 -0.20000v$$ M1 \cdot \text{inv} (M1) = \begin{pmatrix} 1 & 4 \\ 2 & 3 \end{pmatrix} \cdot \begin{pmatrix} -0.6 & 0.8 \\ 0.4 & -0.2 \end{pmatrix} = \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix} $$

 
 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin

Arrays in Octave

Matrizen in Octave

FAQ

Struct und Zellenarray