Método de Gauss-Seidel

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 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

También podría gustarte