Effacer les filtres
Effacer les filtres

how do i use the in-built inv function to calculate a matrix inverse and then calculate A-1A and AA-1.

1 vue (au cours des 30 derniers jours)
how do i use the in-built inv function to calculate a matrix inverse and then calculate A-1A and AA-1.
  1 commentaire
Stephen23
Stephen23 le 6 Sep 2017
Modifié(e) : Stephen23 le 6 Sep 2017
@David Craven: are you trying to solve some linear equations?
In general matrix inversion a very poor way of performing numeric calculations, and the inv documentation describes better ways of solving equations.

Connectez-vous pour commenter.

Réponse acceptée

Cam Salzberger
Cam Salzberger le 6 Sep 2017
Hello David,
Strictly speaking, you would do it like this:
Ainv = inv(A);
Ainv*A
A*Ainv
However, as Stephen pointed out, there are faster and more accurate methods for calculating the inverse when you plan to solve linear equations or include it in some matrix algebra. These two commands are mathematically equivalent, but will be faster and more precise:
A\A % equivalent to Ainv*A
A/A % equivalent to A*Ainv
-Cam
  2 commentaires
David Craven
David Craven le 6 Sep 2017
Modifié(e) : James Tursa le 6 Sep 2017
I run this function
[Inverse,Result1,Result2] = matrixinverse(A)
Inverse = %calculate the inverse of a matrix with the inv function
Result1 = %calculate Inverse times A
Result2 = %calculate A times Inverse
Inverse = inv(A);
Result1 = A*Inverse;
Result2 = Inverse*A;
end
and get this
A =
9.6800 9.6100 2.2700
2.4100 5.3600 4.7900
9.7300 8.2000 9.2400
Error: File: matrixinverse.m Line: 2 Column: 70 Expression or statement is incomplete or incorrect.
Cam Salzberger
Cam Salzberger le 6 Sep 2017
Modifié(e) : Cam Salzberger le 6 Sep 2017
Well, if line 2 of that file is:
Inverse = %calculate the inverse of a matrix with the inv function
then that looks incomplete to me. Maybe you should just remove those lines, and keep it to the other lines only.
-Cam

Connectez-vous pour commenter.

Plus de réponses (1)

James Tursa
James Tursa le 6 Sep 2017
The comment character % needs to be at the beginning of the comments. So these lines
Inverse = %calculate the inverse of a matrix with the inv function
Result1 = %calculate Inverse times A
Result2 = %calculate A times Inverse
should be this instead
% Inverse = calculate the inverse of a matrix with the inv function
% Result1 = calculate Inverse times A
% Result2 = calculate A times Inverse

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by