Matrixrekening: Matrices in MATLAB

Theorie Rijreductie en determinant

MATLAB biedt rij- en kolomoperaties om veegoperaties in matrices numeriek uit te rekenen, maar voor het berekenen van de rijgereduceerde trapvorm (row-reduced echelon form) van een matrix is er het commando rref. Hiermee kun je ook de methode van rijreductie voor het berekenen van een inverse matrix uitvoeren.

Inverse van een matrix berekenen

>> A = [3 1 -4; -1 0 2; 1 1 -1]    % inverteerbare matrix
A =
     3     1    -4
    -1     0     2
     1     1    -1
>> AI = [A eye(3)]    % gerande matrix
AI =
     3     1    -4     1     0     0
    -1     0     2     0     1     0
     1     1    -1     0     0     1
>> rref(AI)    % rijgereduceerde trapvorm
ans =
     1     0     0     2     3    -2
     0     1     0    -1    -1     2
     0     0     1     1     2    -1
>> ans(:, 4:6)  % deelmatrix die gelijk is aan inverse van A
ans =
     2     3    -2
    -1    -1     2
     1     2    -1
>> A^(-1)
ans =
    2.0000    3.0000   -2.0000
   -1.0000   -1.0000    2.0000
    1.0000    2.0000   -1.0000

De determinant van de matrix \(A\) uit bovenstaand voorbeeld kan berekend worden met het commando det en de uitkomst toont aan dat de matrix inverteerbaar is. We geven hieronder ook een voorbeeld van een niet-inverteerbare matrix omdat de determinant gelijk aan 0 is en de gereduceerde trapvorm ongelijk is aan een identiteitsmatrix. Als je toch probeert de inverse te bereken, krijg je overigens wel een resultaat met bijpassende waarschuwing. Wees bij berekening ook altijd op je hoede voor numerieke afrondingsfouten.

Determinant van een matrix

>> A         % inverteerbare matrix
A =
     3     1    -4
    -1     0     2
     1     1    -1
>> det(A)    % determinant van A
ans =
   -1.0000
>> B = [1 -2 -2; 1 14 14; -4 -24 -24]  % niet-inverteerbare matrix
B =
     1    -2    -2
     1    14    14
    -4   -24   -24
>> det(B)    % determinant van B
ans =
0
>> rank(B) % rang van B
ans =
2
>> rref(B) % rijgereduceerde trapvorm vsn B ans = 1 0 0 0 1 1 0 0 0 >> B^(-1) Warning: Matrix is singular to working precision. > In matlab.internal.math.mpower.viaMtimes (line 35) ans = Inf Inf Inf Inf Inf Inf Inf Inf Inf
About us ⋅ Help ⋅ Privacy ⋅ Terms and conditions
Copyright © 2023 SOWISO