Respuestas

¡La mejor respuesta!
2013-06-02T05:58:49+02:00
A mi tambien me dejaron esa tarea ... :) no me costó mucho hacerla... ahi te va mi codigo (es recursivo :3 )

function det = determinante(A)
    if size(A,1) == size(A,2)
        switch size(A,1)
            case 1
                det = A(1,1);
            case 2
                det = A(1,1)*A(2,2) - A(1,2)*A(2,1);
            otherwise
                det = 0;
                for i = 1:1:size(A,1)
                    %Funcion menor
                    for k = 1:1:size(A,1)
                        for j = 1:1:size(A,1)
                            if ~(k == 1 || i == j)
                                C(k,j)=A(k,j);
                            end
                        end
                    end
                    C(1,:) = [];
   
                    if(i ~= size(A,1))
                        C(:,i) = [];
                    end
                    det = det + ((-1)^(1 + i))*A(1,i)*determinante(C);
                end
        end
    else
        disp('Solo es para matrices cuadradas')
    end
end