Verbesserung einer schlecht konditionierten Matrix

Ich habe eine schlecht konditionierte Matrix, derenrcond() nahe Null ist und daher die Umkehrung dieser Matrix nicht als korrekt herauskommt. Ich habe versucht mitpinv() aber das löst das problem nicht. So nehme ich das Gegenteil:

X = (A)\(b);

Ich suchte nach einer Lösung für dieses Problem und fanddieser Link (letzte Lösung) zur Verbesserung der Matrix. Die dortige Lösung schlägt vor, dies zu verwenden:

A_new = A_old + c*eye(size(A_old));

Woherc > 0. Bisher funktioniert diese Technik bei der Herstellung der MatrixA besser konditioniert und die resultierende Lösung sieht besser aus. Ich untersuchte jedoch mit unterschiedlichen Werten vonc und die resultierende Lösung hängt vom gewählten Wert abc.

Anders als manuell nach dem Wert von suchencGibt es einen automatischen Weg, durch den ich den Wert von finden kann?c wofür bekomme ich die beste lösung?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage