Was ist von Vorteil, wenn SVD zum Lösen von Ax = b verwendet wird

Ich habe eine lineare Gleichung wie

Ax=b

woA ist eine Matrix mit vollem Rang, deren Größe @ is512x512. b ist ein Vektor von512x1. x ist ein unbekannter Vektor. Ich möchte findenx, daher habe ich einige Möglichkeiten, das zu tun

1.Normalerweise

inv(A)*b

2.Mit SVD (Singular Value Decomposition)

[U S V]=svd(A);

x = V*(diag(diag(S).^-1)*(U.'*b))

Beide Methoden geben das gleiche Ergebnis. Also, was ist der Nutzen der Verwendung von SVD zu lösenAx=b, vor allem in dem FallA ist eine 2D Matrix?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage