Warum liefert A^(-1)*b keine Warnung aber A\b bzw. inv(A)*b schon wenn A singulär ist?
1 view (last 30 days)
Show older comments
Hallo,
Matrix A ist singulär.
Wie unterscheiden sich beim Berechnen der Inversen von A die Methode A^(-1)*b von den Methoden inv(A)*b und A\b ? Gibt es außerdem einen Unterschied zwischen Methode inv(A)*b und Methode A\b?
LisaB
A = [1 -1; 0 0]
b = [-0.5; -0.5]
x = A^(-1)*b % keine Warnung
x = A\b % Warnung
x = inv(A)*b % Warnung
0 Comments
Accepted Answer
Harald
on 15 May 2025
Hallo,
laut Dokumentation: "X^(-1) is equivalent to inv(X)". Warum das eine eine Warnung wirft und das andere nicht, kann ich auch nicht beantworten.
Zwischen A\b und inv(A)*b ist der Unterschied, dass im ersten Fall die Inverse nicht explizit berechnet wird, sondern "nur" das Gleichungssystem A*x = b gelöst wird. Im Algorithms-Bereich der Doku siehst du, wie das wann gemacht wird:
A\b ist schneller (wird natürlich erst bei größeren Matrizen deutlich) und liefert tendenziell genauere Ergebnisse.
rng(0)
A = rand(10000);
b = rand(10000,1);
tic; x1 = A\b; toc
tic; x2 = inv(A)*b; toc
res1 = norm(A*x1 - b)
res2 = norm(A*x2 - b)
Viele Grüße,
Harald
0 Comments
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!