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

3 Ansichten (letzte 30 Tage)
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 Kommentar
Rik
Rik am 7 Aug. 2018
Bearbeitet: Rik am 7 Aug. 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).

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

James Tursa
James Tursa am 7 Aug. 2018
Bearbeitet: James Tursa am 7 Aug. 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)

Weitere Antworten (0)

Kategorien

Mehr zu Downloads finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by