Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function D=Determinant(A)
- [m,n] = size(A);
- if m~=n
- error('MATRIX MUST BE SQUARE')
- elseif isequal(size(A),[4,4])
- D = A(1,1)*Determinant(ignoreRowAndCol(A,1,1))...
- - A(1,2)*(Determinant(ignoreRowAndCol(A,1,2))) ...
- + A(1,3)*(Determinant(ignoreRowAndCol(A,1,3))) ...
- - A(1,4)*(Determinant(ignoreRowAndCol(A,1,4)));
- return
- elseif isequal(size(A),[3,3])
- D = A(1,1)*(Determinant(ignoreRowAndCol(A,1,1)))...
- - A(1,2)*(Determinant(ignoreRowAndCol(A,1,2))) ...
- + A(1,3)*(Determinant(ignoreRowAndCol(A,1,3)));
- return
- elseif isequal(size(A),[2,2])
- D = (A(1,1)*A(2,2))-(A(1,2)*A(2,1));
- return
- end
- end
- function B = ignoreRowAndCol(A,i,j)
- A(i,:)=[];
- A(:,j)=[];
- B = A;
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement