Borrar filtros
Borrar filtros

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

1 visualización (últimos 30 días)
how do i use the in-built inv function to calculate a matrix inverse and then calculate A-1A and AA-1.
  1 comentario
Stephen23
Stephen23 el 6 de Sept. de 2017
Editada: Stephen23 el 6 de Sept. de 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.

Iniciar sesión para comentar.

Respuesta aceptada

Cam Salzberger
Cam Salzberger el 6 de Sept. de 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 comentarios
David Craven
David Craven el 6 de Sept. de 2017
Editada: James Tursa el 6 de Sept. de 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 el 6 de Sept. de 2017
Editada: Cam Salzberger el 6 de Sept. de 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

Iniciar sesión para comentar.

Más respuestas (1)

James Tursa
James Tursa el 6 de Sept. de 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

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by