Signal- und Messdatenverarbeitung


Matrizen, Lösen von lineare Gleichungssystemen

Python Matlab/Octave
Vorbereitung (Laden von Modulen/Paketen)
from numpy import *
from numpy.linalg import *
Determinante der Matrix A
det(A)
det(A)
Lösen eines linearen Gleichungssystems mit der Cramerschen Regel A: Koeffizientenmatrix
Y: Lösungsvektor
X: Lösung des Gleichungssystems AX=Y
dA=det(A)
X=zeros([len(Y),len(Y[0])])
for i in range(0,len(Y[0])):
  for j in range(0,len(Y)):
    Aj=hstack((array(A)[:len(Y),:j],array(Y)[:,i:i+1],array(A)[:len(Y),j+1:]))
    X[j,i]=det(Aj)/dA
  

dA=det(A);
[sj,si]=size(Y);
X=zeros(size(Y));
for i=1:si
for j=1:sj
Aj=[A(:,1:j-1) Y(:,i) A(:,j+1:sj)];
X(j,i)=det(Aj)/dA;
end
end
Lösen eines linearen Gleichungssystems mit dem Gaußschen Eliminationsverfahren
(Die Wahl eines geeigneten und möglichst effizienten Lösungsverfahrens erfolgt je nach Beschaffenheit der Parametermatrix und des Lösungsvektors bzw. der Lösungsmatrix)
A: Koeffizientenmatrix
Y: Lösungsvektor
X: Lösung des Gleichungssystems AX=Y
X=solve(A,Y)
X=linsolve(A,Y)
Lösen eines linearen Gleichungssystems durch Multiplikation mit der inversen Parametermatrix (evtl. sehr ineffizient, da mehr Elemente der inversen Matrix berechnet werden als für die Lösung des Gleichungssystems nötig wären) A: Koeffizientenmatrix
Y: Lösungsvektor
X: Lösung des Gleichungssystems AX=Y
X=dot(inv(A),Y)
X=inv(A)*Y