Zum Inhalt springen

Ing Mathematik: Numerisches Lösen von Ausgleichsproblemen

Aus Wikibooks


Ausgleichsgerade

[Bearbeiten]

Mit der Ausgleichsrechnung können überbestimmte Probleme gelöst werden. Z.B. ist der Ansatz bei der linearen Ausgleichsrechnung:

Ausgleichsgerade:

Damit dies ein Extremum (genauer ein Minimum) wird, müssen die Ableitungen gleich werden.

und

Dies ergibt ein lineares Gleichungssystem (Unbekannte: ):

Beispiel: Gegeben seien n Messdaten. Zu diesen ist eine Ausgleichsgerade (Regressionsgerade) zu legen. Die Summe der Fehlerquadrate soll minimal werden.


1 2 3 4
2 1 4 6

Daraus folgt:

Pseudoinverse und Singulärwertzerlegung

[Bearbeiten]

Die Pseudoinverse ist die Verallgemeinerung der inversen Matrix auf singuläre und nichtquadratische Matrizen. Die Bestimmung der Moore-Penrose-Inversen basiert auf der Singulärwertzerlegung. Die Bezeichnungen sind in der Literatur nicht einheitlich. Die folgende Darstellung hält sich in etwa an  Pseudoinverse und Burg, Haf, Wille, Meister: Seite 354ff.

Allgemeine oder generalisierte Inverse G von A:

Moore-Penrose-Inverse (Pseudoinverse) :

  • und symmetrisch.

Orthogonale Normalform, Singulärwertzerlegung: , sei eine Diagonalmatrix mit positiven Diagonalelementen, ,

Dann existiert exakt eine Moore-Penrose-Inverse:

Lösungsmenge des linearen Ausgleichsproblems mit :

Siehe auch  Ausgleichungsrechnung,  Singulärwertzerlegung,  Pseudoinverse,  Methode der kleinsten Quadrate, Hanke-Bourgeois: Seite 107ff, Burg-Haf, Will, Meister: Seite 340ff, Knorrenschild: Seite 98ff, Singular Value Decomposition (SVD) in der SciPy-Dokumentation.

Beispiel - Moore-Penrose-Pseudoinverse mit SciPy:

import numpy as np
from scipy import linalg

A = np.array([[1, -2, 2, 1, 0],
             [-5, 1, 4, 9, 1],
             [0, 0, 1, 0, 2],
             [1, 2, 3, 1, 3]])

B = linalg.pinv(A)

print(B)
print("-"*50)
print(A@B@A)

Ausgabe:

[[ 1.58724277e-01 -7.18235194e-02 -3.62480762e-01  2.13988485e-01]
 [-2.29094226e-01  5.70027931e-05 -3.90982158e-01  2.68084136e-01]
 [ 1.67246195e-01  4.56022345e-04 -1.27857265e-01  1.44673089e-01]
 [ 4.85948811e-02  7.10254802e-02 -1.63769025e-01  3.28336088e-02]
 [-8.36230975e-02 -2.28011173e-04  5.63928633e-01 -7.23365445e-02]]
--------------------------------------------------
[[ 1.00000000e+00 -2.00000000e+00  2.00000000e+00  1.00000000e+00
  -2.91433544e-16]
 [-5.00000000e+00  1.00000000e+00  4.00000000e+00  9.00000000e+00
   1.00000000e+00]
 [ 3.94270120e-16  1.27561807e-15  1.00000000e+00 -3.98823769e-16
   2.00000000e+00]
 [ 1.00000000e+00  2.00000000e+00  3.00000000e+00  1.00000000e+00
   3.00000000e+00]]

Bei der Ausgabe der zweiten Matrix ( mit ) sind die Rundungsfehler zu beachten. So entspricht z.B. 3.94270120e-16 in etwa Null.

Gedruckte Werke (auszugsweise)

[Bearbeiten]
  • Burg, Haf, Wille, Meister: Höhere Mathematik für Ingenieure, Band I: Analysis. 9. Auflage, Vieweg+Teubner, 2011, ISBN 978-3-8348-1218-6
  • Hanke-Bourgeois: Grundlagen der Numerischen Mathematik und des Wissenschaftlichen Rechnens. 3. Aufl., Vieweg+Teubner, 2009, ISBN 978-3-8348-0708-3
  • Knorrenschild: Numerische Mathematik. 6. Auflage, Hanser, 2017, ISBN 978-3-446-45161-2