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

3 次查看(过去 30 天)
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 个评论
Rik
Rik 2018-8-7
编辑:Rik 2018-8-7
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).

请先登录,再进行评论。

采纳的回答

James Tursa
James Tursa 2018-8-7
编辑:James Tursa 2018-8-7
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)

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Downloads 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by