Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Ejemplos:
[ 1 7 0 es DD , 1
2 3 10 ] [7 90 no es DD , 1
2 53 10 −12 ] [
7 −30 no es DD ,
3 10 ]
−80 −1 2
[ 1
−1
−7 0 es DD
3 −10 ]
Método de Gauss-Seidel:
Se utiliza para resolver un sistema de Ecuaciones lineales de la forma
Ax=b
Ejemplo:
10*x+2*y+3*z=29
x+12*y+8*z=7
3*x+5*y+9*z=0
Con los siguientes valores iniciales:
x 0=0 , y 0=0 ,tolerancia=10−1
Página 1 de 5
Facultad de Ingenierías
Departamento de Ingeniería de Sistemas y Computación
Curso: Soluciones Computacionales a Problemas de Ingeniería
Profesor Marlon Alberto Piñeres Melo
Solución:
Ecuación Despeje
10x+2y+3z=29 29−2 y i−3 z i
x i+1=
10
x+12y+8z=7 7−x−8 z
y=
12
3x+5y+9z=0 −3 x i−5 y i
z i+1=
9
Ea y =| y i− y i−1|
D i=max (Ea x , Ea y , Ea z)
−3 x i−5 y i
z nuevo=z i+1 =
9
i xi yi zi Ea x Ea y Ea z Di
0 0 0 0 - - - -
1 2.9 0.3417 -1.1565 2.9 0.3417 1.1565 2.9
2 3.1786 1.0894 -1.6648 0.2786 0.7477 0.5083 0.7477
3 3.1815 1.4281 -1.8539 0.0029 0.3386 0.1891 0.3386
Página 2 de 5
Facultad de Ingenierías
Departamento de Ingeniería de Sistemas y Computación
Curso: Soluciones Computacionales a Problemas de Ingeniería
Profesor Marlon Alberto Piñeres Melo
Gauss Seidel
El valor de una variable se calcula en base a los valores de las demás
variables recientemente calculados.
Jacobi
El valor de una variable se calcula en base a los valores de las demás
variables de la iteración anterior.
Ejemplos en Matlab
clear
clc
format short
syms x
syms y
syms z
fx=(29-2*y-3*z)/10;
Página 3 de 5
Facultad de Ingenierías
Departamento de Ingeniería de Sistemas y Computación
Curso: Soluciones Computacionales a Problemas de Ingeniería
Profesor Marlon Alberto Piñeres Melo
fy=(7-x-8*z)/12;
fz=(-3*x-5*y)/9;
x_ant=0;
y_ant=0;
z_ant=double(subs(fz, [x,y], [x_ant, y_ant]));
z_nuevo=z_ant;
x_nuevo=x_ant;
y_nuevo=y_ant;
tolerancia=10^-1;
eax=100;
eay=100;
eaz=100;
Di=max([eax,eay,eaz]);
i=0;
fprintf('i,x_ant,y_ant,z_ant,eax,eay,eaz,Di \n');
while(Di>tolerancia)
fprintf('%i %d %d %d %d %d %d %d
\n',i,x_ant,y_ant,z_ant,eax,eay,eaz,Di);
x_nuevo = double(subs(fx, [y,z], [y_nuevo,z_nuevo]));
y_nuevo = double(subs(fy, [x,z], [x_nuevo,z_nuevo]));
z_nuevo = double(subs(fz, [x,y], [x_nuevo, y_nuevo]));
eax=abs(x_nuevo-x_ant);
eay=abs(y_nuevo-y_ant);
eaz=abs(z_nuevo-z_ant);
Di=max([eax,eay,eaz]);
x_ant=x_nuevo;
y_ant=y_nuevo;
z_ant=z_nuevo;
i=i+1;
end
Página 4 de 5
Facultad de Ingenierías
Departamento de Ingeniería de Sistemas y Computación
Curso: Soluciones Computacionales a Problemas de Ingeniería
Profesor Marlon Alberto Piñeres Melo
x_nuevo
y_nuevo
z_nuevo
Página 5 de 5