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

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 commentaire

Rik
Rik le 7 Août 2018
Modifié(e) : Rik le 7 Août 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).

Connectez-vous pour commenter.

 Réponse acceptée

James Tursa
James Tursa le 7 Août 2018
Modifié(e) : James Tursa le 7 Août 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)

Plus de réponses (0)

Catégories

Community Treasure Hunt

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

Start Hunting!

Translated by