Documentos de Académico
Documentos de Profesional
Documentos de Cultura
An-12 Metodo de Gauss PDF
An-12 Metodo de Gauss PDF
Ejemplo. Con el Método de Gauss resuelva el sistema de ecuaciones lineales del problema
planteado al inicio de este capítulo
4x1 + 2x 2 + 5x 3 =
18.00
2x1 + 5x 2 + 8x 3 =
27.30
2x1 + 4x 2 + 3x 3 =
16.20
4 2 5 18.00
A | B = 2 5 8 27.30
2 4 3 16.20
Las transformaciones sucesivas de la matriz aumentada se describen en los siguientes cuadros
De este sistema se obtiene la solución mediante una sustitución directa comenzando por el final:
x 3 = 1.8
x2 =
4.575 − 1.375(1.8) =
2.1
x1 =
4.5 − 0.5(2.1) − 1.25(1.8) =
1.2
Con la formulación del método anterior (Gauss-Jordan) modificando el índice de las filas para
reducir solamente debajo de la diagonal y con la formulación para resolver el sistema triangular
resultante, se define el algoritmo para el método de Gauss:
67
Etapa e = 1, 2, . . ., n
Normalizar la fila e:
a e, j ← a e, j / a e, e , j=e, e+1, ..., n+1; a e, e ≠ 0
Etapa e: Columna e
Transformaciones
Una estrategia para disminuir el error de redondeo consiste en reducir el valor de los operandos
que intervienen en la multiplicación.
Por otra parte, si en esta estrategia de búsqueda, el valor elegido como el mayor divisor no es
diferente de cero, se concluye que en el sistema existen ecuaciones redundantes o
incompatibles, entonces el sistema no tiene solución única y el algoritmo debe terminar
69
function x=gauss(a,b)
[n,m]=size(a);
if n~=m %Verificar si la matriz es cuadrada
x=[ ];
return;
end
a=[a,b]; %Matriz aumentada
for e=1:n
[z, p]=max(abs(a(e:n,e))); %Pivoteo por filas
p=p+e-1;
t=a(e,e:n+1); %Intercambio de filas
a(e,e:n+1)=a(p,e:n+1);
a(p,e:n+1)=t;
if abs(a(e,e))<1.0e-10 %Si el divisor es ~cero, no hay solución
x=[ ];
return;
end
a(e,e:n+1)=a(e,e:n+1)/a(e,e); %Normalizar la fila e
for i=e+1:n %Reducir otras filas
a(i,e:n+1)=a(i,e:n+1)-a(i,e)*a(e,e:n+1);
end
end
x(n,1)=a(n,n+1); %Solución del sistema triangular
for i=n-1:-1:1
x(i,1)=a(i,n+1)-a(i,i+1:n)*x(i+1:n,1);
end
Ejemplo. Desde la ventana de comandos de MATLAB, use la función Gauss para resolver el
sistema:
2 3 7 x1 3
−2 5 6 x =
2 5
8 9 4 x 3 8
La forma más simple de resolver un sistema lineal, si la matriz de coeficientes es cuadrada y no-
singular, es usando la definición de inversa de una matriz MATLAB.
Una forma más general para resolver sistemas lineales, incluyendo sistemas singulares se
puede hacer con la función rref de MATLAB. Esta función reduce una matriz a su forma
escalonada con 1’s en la diagonal.
Sean
A: matriz cuadrada
T: Matriz triangular superior obtenida con el algoritmo de Gauss
ai,i : Elementos en la diagonal de la matriz T. Son los divisores
k: Número de cambios de fila realizados
det(A): Determinante de la matriz A
Entonces
n
det(A) = (−1)k ∏ ai,i
i=1
71
Ejemplo
>> a=[5 3 7; 2 9 8; 5 8 2]
a=
5 3 7
2 9 8
5 8 2
>> d=determinante(a)
d=
-325