% PROGRAMA DE CÁLCULO DE DETERMINANTE % ============================================== clear ; clc; A=randi(10,5) ; % Si no se redondean los valores la comparación los encontrará distintos valorF = round( determinante(A), 5); valorL = round( det(A), 5); disp("Dada la matriz A: "); disp(A); cadena_de_salida1 = sprintf ("El determinante calculado mediante nuestra función vale %f. \n", valorF ); if valorF==valorL cadena_de_salida2 = sprintf ("Y si se calcula mediante la función de librería se obtiene lo mismo (librería == función): %f = %f \n", valorL, valorF); else cadena_de_salida2 = sprintf ("Y si se calcula mediante la función de librería se obtiene algo distinto: (librería != función): %f = %f. Revise la programación: puede haber un problema de redondeo. \n", valorL, valorF ); end cadena_final = strcat(cadena_de_salida1, cadena_de_salida2); disp (cadena_final); % Función de cálculo de determinante function valor = determinante(A) n=length(A); if n==1 valor=A(1,1); else valor=0; sgn=1; for j=1:n M1j=[A(2:n,1:j-1) A(2:n,j+1:n)]; valor=valor+sgn*A(1,j)*determinante(M1j); sgn=-sgn; end end end