Azzera filtri
Azzera filtri

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

1 visualizzazione (ultimi 30 giorni)
how do i use the in-built inv function to calculate a matrix inverse and then calculate A-1A and AA-1.
  1 Commento
Stephen23
Stephen23 il 6 Set 2017
Modificato: Stephen23 il 6 Set 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.

Accedi per commentare.

Risposta accettata

Cam Salzberger
Cam Salzberger il 6 Set 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 Commenti
David Craven
David Craven il 6 Set 2017
Modificato: James Tursa il 6 Set 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 il 6 Set 2017
Modificato: Cam Salzberger il 6 Set 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

Accedi per commentare.

Più risposte (1)

James Tursa
James Tursa il 6 Set 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

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by