Incorrect matrix computation: a*inv(a) does not produce the identity matrix

3 visualizaciones (últimos 30 días)
I'm new to matlab, and just downloaded the program using all of the defaults in the installer. While going through the tutorials I noticed that inv(a), where a is a matrix, was not giving the correct answer. I attached a screenshot of my command window. I've restarted the program several times, but got the same answer each time I tried this calculation.
Did something go wrong with my download? Or is there a way to fix this without having to reinstall? Hopefully I'm overlooking something simple. Any advise would be appreciated.
Thanks!
  1 comentario
Rik
Rik el 7 de Ag. de 2018
Editada: Rik el 7 de Ag. de 2018
You overlooked the warning. It is not always possible to invert a matrix, apparently you hit up against such a case. The determinant is -9.5162e-16 for this matrix, which is very close to machine precision for doubles (which is 2.2204e-16).

Iniciar sesión para comentar.

Respuesta aceptada

James Tursa
James Tursa el 7 de Ag. de 2018
Editada: James Tursa el 7 de Ag. de 2018
The "a" matrix you are using is not full rank and does not have an inverse. That is what the warning message is trying to alert you to. It is good that MATLAB is reliably telling you each time you try it that there is something wrong with trying to find the inverse of this matrix. The row dependency can be easily seen:
2 * (2nd row) - (1st row) = (3rd row)

Más respuestas (0)

Categorías

Más información sobre Downloads en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by