Inverse matrix with for loop

12 visualizaciones (últimos 30 días)
Elizabeth Brito
Elizabeth Brito el 24 de Dic. de 2020
Respondida: Doddy Kastanya el 6 de En. de 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 comentarios
Elizabeth Brito
Elizabeth Brito el 24 de Dic. de 2020
thanks i will go check it
Elizabeth Brito
Elizabeth Brito el 24 de Dic. de 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

Iniciar sesión para comentar.

Respuestas (1)

Doddy Kastanya
Doddy Kastanya el 6 de En. de 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.

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by