Académique Documents
Professionnel Documents
Culture Documents
(9.14a)
.
.
.
a
.
.
n3
x3 + + ann xn = bn
(9.15d)
donde el superndice biprima indica que los elementos se han modificado dos
veces. El procedimiento puede continuar usando las ecuaciones pivote
restantes. La ltima manipulacin en esta secuencia es el uso de la (n 1)sima
ecuacin para eliminar el trmino xn1 de la n-sima ecuacin. Aqu el sistema
se habr transformado en un sistema triangular superior.
a11 x1 + a12 x2 + a13 x3 + + a1n xn = b1
a22 x2 + a23 x3 + + a2n xn = b2
a33 x3 + + a3n xn = b3
.
.
.
.
.
.
ann(n 1)xn = bn(n 1)
Observe que tres ciclos anidados proporcionan una representacin concisa del
proceso. El ciclo externo mueve hacia abajo de la matriz el rengln pivote. El
siguiente ciclo mueve hacia abajo el rengln pivote a cada rengln
subsecuente, donde la eliminacin se llevar a cabo. Finalmente, el ciclo ms
interno avanza a travs de las columnas para eliminar o transformar los
elementos de un rengln determinado.
Sustitucin hacia atrs. De la ecuacin (9.15d) ahora se despeja xn:
Xn=bn(n-1)/ann(n-1)
Este resultado se puede sustituir hacia atrs en la (n 1)sima ecuacin y
despegar xn 1. El procedimiento, que se repite para evaluar las x restantes, se
representa mediante la frmula:
j=i +1
(9.17)
Algoritmo:
Programa:
%METODO DE GAUSS GENERAL
clc,clear
n=input('Ingrese el nmero de ecuaciones: ')
disp('Ingrese los coeficientes de las ecuaciones: ')
for i=1:n
for j=1:n
fprintf('A (%d,%d): ',i,j)
A(i,j)=input('');
end
end
disp('Ingrese los trminos independientes de las ecuaciones: ')
for k=1:n
fprintf('A (%d,%d): ',k,n+1)
A(k,n+1)=input('');
end
disp('La matriz ampliada que se form es la siguiente: ')
A=A
disp('A continuacin de realizar la eliminacion hacia adelante. ')
x=1;
while(x<n)
for s=1:n-1
for l=x:n-1
A(l+1,:)=A(s,:)*(-A(l+1,s)/A(s,s))+A(l+1,:);
end
x=x+1;
end
end
disp('La matriz trinagular superior que se form fue la siguiente: ')
A=A
X(n)=A(n,n+1)/A(n,n);
for h=n-1:-1:1
S=A(h,n+1);
for f=n:-1:1
S=S-A(h,f)*X(f);
end
S=S/A(h,h);
X(h)=S;
end
disp('Resultado:')
disp('----------')
for r=1:n
fprintf('X%d = %f ',r,X(r))
end
disp('Fin del programa.')
EJEMPLO:
3X+2Y+5Z=13.(1)
5X+3Y+7Z=23.(2)
11X-13Y-17Z=29.(3)
SOLUCION: