Inverse matrix with for loop

15 visualizzazioni (ultimi 30 giorni)
Elizabeth Brito
Elizabeth Brito il 24 Dic 2020
Risposto: Doddy Kastanya il 6 Gen 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 Commenti
Elizabeth Brito
Elizabeth Brito il 24 Dic 2020
thanks i will go check it
Elizabeth Brito
Elizabeth Brito il 24 Dic 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

Accedi per commentare.

Risposte (1)

Doddy Kastanya
Doddy Kastanya il 6 Gen 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.

Categorie

Scopri di più su Loops and Conditional Statements in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by