Inverse matrix with for loop

15 views (last 30 days)
Elizabeth Brito
Elizabeth Brito on 24 Dec 2020
Answered: Doddy Kastanya on 6 Jan 2021
Using for loops, program a general code for calculating the inverse of a given matrix in the 2X2 and 3X3 cases.
Can someone help me? I'm learning to use the for loop and I don't know how to do that.
  7 Comments
Elizabeth Brito
Elizabeth Brito on 24 Dec 2020
thanks i will go check it
Elizabeth Brito
Elizabeth Brito on 24 Dec 2020
hi i checked that code but that is gauss method and i need cofactors method.
I made a new code but it doesn't work. Can you help me?
or how can i do it
C=[-2,3;
6,5]
[m,n]=size(C)
z=zeros(m,n)
%cofactor
c1= C(2,2)
c2 = -C(1,2)
c3 = -C(2,1)
c4 = C(1,1)
%matriz del cofactor
c = [c1,c3;
c2,c4]
for i=1:m %filas
for j=1:n %columnas
for k=transpose(c)
z(i,j)= (1/det(C(i,j)))*k
end
end
end

Sign in to comment.

Answers (1)

Doddy Kastanya
Doddy Kastanya on 6 Jan 2021
The way you prepare the cofactor is okay. You want to define your "k=transpose(c)" outside of the loop. The other thing that you need to remember is the intrinsic function "det" is to determine the determinant of a matrix. Applying it on an element of a matrix will just give you the element back. So, your code should look something like:
c=[c1, c3;c2, c4];
k=transpose(c); % or you could simply use k=c';
denum=det(C);
for i=1:m
for j=1:n
z(i,j)=1/denum*k(i,j);
end
end
The same principal is applicable for a 3x3 matrix. You just need to be careful in defining the cofactors (including the "+" and "-" signs). Good luck.

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!