You are on page 1of 10

2010.

AO DEL BICENTENARIO DE LA INDEPENDENCIA DE MXICO


TECNOLGICO DE ESTUDIOS SUPERIORES DEL ORIENTE DEL ESTADO DE
MXICO
Ingeniera en Sistemas Computacionales

Grupo
6 S 11

Materia
Mtodos Numricos

Docente
Garca Nieva J orge

Programa :
Mtodo de Gauss-Seidel

Alumnos
Avalos Arias Odet
Carreo Martnez J os Mauro Alejandro
Gonzlez Martnez Diana J acqueline
Ramrez Escutia Nubia

Los Reyes la Paz, Estado de Mxico a 20 de Abril del 2010
2

NDICE


INTRODUCCIN ................................................................................................................ 3
DESARROLLO .................................................................................................................... 4
CODIGO ............................................................................................................................... 7
CONCLUSIN ..................................................................................................................... 9
BIBLIOGRAFA ................................................................................................................ 10

3

INTRODUCCIN



En mtodos numricos el mtodo de Gauss-Seidel es un mtodo iterativo usado
para resolver sistemas de ecuaciones lineales.

El mtodo se llama as en honor a los matemticos alemanes Carl Friedrich Gauss
y Philipp Ludwig von Seidel y es similar al mtodo de J acobi. Carl Friedrich Gauss
fue un matemtico, astrnomo y fsico alemn que contribuy significativamente
en muchos campos, incluida la teora de nmeros, el anlisis matemtico, la
geometra diferencial, la geodesia, el magnetismo y la ptica. Philipp Ludwig von
Seidel fue un astrnomo y matemtico alemn.

La base del mtodo de Gauss-Seidel consiste en un mtodo iterativo, lo que
significa que se parte de una aproximacin inicial y se repite el proceso hasta
llegar a una solucin con un margen de error tan pequeo como se quiera.
Buscando la solucin a un sistema de ecuaciones lineales, en notacin matricial.

4

DESARROLLO

Al ejecutar el programa este pide que insertemos los valores de nuestra funcin,
en este caso.
5x-1y+3z=1
X+3y+1z=1
X+y-3z=4





5

Al terminar de ingresar los valores de nuestra funcin, muestra la funcin que
ingresaste y lo que vale nuestra x1.



Posteriormente arroja la Tabla donde nos aparecen los resultados de nuestras
x,y,z y nuestro error, se detiene hasta que n=10 o e<=0.0001









6
Por ltimo lo que se visualiza en el programa es la comprobacin de nuestros
valores.








7

CODIGO
import java.io.*;
public class Gauss_Seidal {
public static void main(String[] args) throws IOException {
BufferedReader entrada= new BufferedReader (new
InputStreamReader(System.in));
double x00 =0, y00 =0, z00 =0, r0=0;
double x01 =0, y01 =0, z01 =0, r1=0;
double x02 =0, y02 =0, z02 =0, r2=0;
System.out.println(" Metodo De Gauss - Seidal \n");
System.out.println("Introduzca lo valores \n");
System.out.println("Introduzca el dato [0][0]=");
x00=Double.parseDouble(entrada.readLine());
System.out.println("Introduzca el dato [0][1]=");
y00=Double.parseDouble(entrada.readLine());
System.out.println("Introduzca el dato [0][2]=");
z00=Double.parseDouble(entrada.readLine());
System.out.println("Introduzca el dato [0][3]=");
r0=Double.parseDouble(entrada.readLine());
System.out.println("Introduzca el dato [1][0]=");

x01=Double.parseDouble(entrada.readLine());
System.out.println("Introduzca el dato [1][1]=");
y01=Double.parseDouble(entrada.readLine());
System.out.println("Introduzca el dato [1][2]=");
z01=Double.parseDouble(entrada.readLine());
System.out.println("Introduzca el dato [1][3]=");
r1=Double.parseDouble(entrada.readLine());

System.out.println("Introduzca el dato [2][0]=");
x02=Double.parseDouble(entrada.readLine());
System.out.println("Introduzca el dato [2][1]=");
y02=Double.parseDouble(entrada.readLine());
System.out.println("Introduzca el dato [2][2]=");
z02=Double.parseDouble(entrada.readLine());
System.out.println("Introduzca el dato [2][3]=");
r2=Double.parseDouble(entrada.readLine());

System.out.println("Tu Ecuacion Es ");
8
System.out.println("\t"+x00+"x\t"+y00+"y\t"+z00+"z \t="+r0);
System.out.println("\t"+x01+"x\t"+y01+"y\t"+z01+"z \t="+r1);
System.out.println("\t"+x02+"x\t"+y02+"y\t"+z02+"z \t="+r2);

double x1 =r0/x00;
double z1=0;
double y1=0;
int i=1;
int d=10;
double e;
System.out.println("INTERACIONES \n");
System.out.println("x1 ="+x1);

System.out.println("\t\tTABLA \n");
System.out.println("i\tX\t\t\tY\t\t\t\tZ\t\t\tE\n");
System.out.println("0\t0\t\t\t0\t\t\t\t0\t\t\t1\n");
do{
double y=(r1+(x01*-1*x1)+(z01*-1*z1))/y01;
double z=(r2+(x02*-1*x1)+(y02*-1*y))/z02;
double x=(r0+(y00*-1*y)+(z00*-1*z))/x00;
e=Math.sqrt(Math.pow((x-x1), 2)+Math.pow((y-y1), 2)+Math.pow((z-z1), 2));
System.out.println(i+"\t"+x1+"\t"+y+"\t"+z+"\t"+e+"\n");
i++;
x1=x;z1=z;y=y1;
}while (i<=d);
System.out.println("\tCOMPROBACION\n");
double resx,resy,resz;
resx=x00*x1+y00*y1+z00*z1;
resy=x01*x1+y01*y1+z01*z1;
resz=x02*x1+y02*y1+z02*z1;
System.out.println("Comprobacion de\t"+x00+"x\t"+y00+"y\t"+z00+"z \t=
"+resx);
System.out.println("Comprobacion de\t"+x01+"x\t"+y01+"y\t"+z02+"z \t=
"+resy);
System.out.println("Comprobacion de\t"+x02+"x\t"+y02+"y\t"+z01+"z \t=
"+resz);
}
}
9

CONCLUSIN



Al finalizar esta prctica nos quedaron an ms claros los procedimientos y
desarrollo del mtodo Gauss-Seidel ya que durante su desarrollo y puesta en
prctica analizamos la lgica matemtica y la lgica de programacin logrando as
llegar a la culminacin exitosa de nuestro programa.

Gracias a los mltiples ejercicios realizados en clase y a la previa realizacin del
programa para el mtodo J acobi, el pseudocdigo no fue complicado y el
desarrollo del mtodo a lenguaje J ava fue ms sencillo.


10

BIBLIOGRAFA



http://es.wikipedia.org/wiki/M%C3%A9todo_de_Gauss-Seidel

You might also like