function y = redSig1(x, n) // Redondeo con n cifras significativas. // n debe ser positivo pero no se verifica. y = 0.0 if x == 0, return, end if x >= 0 signo = 1 else signo = -1 x = -x end m = ceil( log10(x) ) k = 10^m t = x/k //printf( 't = %f\n', t) c = 10^n y = round(t*c)/c y = y*k*signo endfunction //---------------------------------------------------------- function x = Gauss1(a, b) // metodo de Gauss para resolver a x = b. // Se supone que los datos permiten que todo funcione. n = size(a,1) for k=1:n-1 for i = k+1:n lik = a(i,k)/a(k,k) a(i,k+1:n) = a(i,k+1:n) - lik*a(k,k+1:n) a(i,k) = 0 b(i) = b(i) - lik*b(k) end disp([a b]) end x = zeros(n,1) x(n) = b(n)/a(n,n) for i=n-1:-1:1 x(i) = ( b(i) - a(i,i+1:n)*x(i+1:n) )/a(i,i) end endfunction //----------------------------------------------------------