Filter löschen
Filter löschen

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

1 Ansicht (letzte 30 Tage)
how do i use the in-built inv function to calculate a matrix inverse and then calculate A-1A and AA-1.
  1 Kommentar
Stephen23
Stephen23 am 6 Sep. 2017
Bearbeitet: Stephen23 am 6 Sep. 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.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Cam Salzberger
Cam Salzberger am 6 Sep. 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 Kommentare
David Craven
David Craven am 6 Sep. 2017
Bearbeitet: James Tursa am 6 Sep. 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 am 6 Sep. 2017
Bearbeitet: Cam Salzberger am 6 Sep. 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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

James Tursa
James Tursa am 6 Sep. 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

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by