Inverse matrix with for loop

36 次查看(过去 30 天)
Elizabeth Brito
Elizabeth Brito 2020-12-24
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 个评论
Elizabeth Brito
Elizabeth Brito 2020-12-24
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

请先登录,再进行评论。

回答(1 个)

Doddy Kastanya
Doddy Kastanya 2021-1-6
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.

类别

Help CenterFile Exchange 中查找有关 Loops and Conditional Statements 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by