// Eliminacion Gaussiana con sustitusion hacia atras A=[1 1 0 -3; 0 -1 -1 -5; 0 -4 -1 -7; 0 3 3 2] b=[4; -7; -15; 8] N = 4 x = zeros(N) // Comprobacion X=inv(A)*b; SW = 0 // Genracion de la forma triangular inferior for i=1:N a=A(i,i); // Checa si es necesario reacomodar renglones if a == 0.0 then // necesario reacomodar renglones for k=i+1:N if A(k,i) ~= 0.0 then for l=1:N // mueve renglon matriz t=A(k,l); A(k,l)=A(i,l); A(i,l)=t; // mueve renglon vector t=b(k); b(k)=b(i); b(i)=t; end a=A(i,i) break end if k >=N then disp("No hay solucion") SW = 1 end end end if SW == 1 then break end for j=i:N A(i,j)=A(i,j)/a; end b(i)=b(i)/a; for j=i+1:N if j == i then continue end t = A(j,i) for k=1:N A(j,k)=A(j,k)-t*A(i,k); end b(j)=b(j)-t*b(i); end A b end // Sustitucion hacia atras if SW == 0 then x(N)=b(N)/A(N,N); for i=N-1:-1:1 t=0 for j=i+1:N t = t + A(i,j)*x(j); end x(i)=(b(i) - t) / A(i,i) end // Visualiza solicion x X end