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 Jorge

Programa :
Mtodo de Jacobi

Alumnos
Avalos Arias Odet
Carreo Martnez Jos Mauro Alejandro
Gonzlez Martnez Diana Jacqueline
Ramrez Escutia Nubia

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

NDICE

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

INTRODUCCIN

En mtodos numricos el mtodo de Jacobi es una sucesin de iteraciones


usadas para resolver sistemas de ecuaciones lineales del tipo Ax = b.

El algoritmo toma su nombre del matemtico alemn Carl Gustav Jakob Jacobi.
Autor muy prolfico, contribuy en varios campos de la matemtica, principalmente
en el rea de las funciones elpticas, el lgebra, la teora de nmeros y las
ecuaciones diferenciales.

La base del mtodo de Jacobi consiste en construir una sucesin convergente


definida iterativamente. El lmite de esta sucesin es precisamente la solucin del
sistema. A efectos prcticos si el algoritmo se detiene despus de un nmero finito
de pasos se llega a una aproximacin al valor de x de la solucin del sistema.

Este trabajo tratar sobre la solucin de ecuaciones lineales mediante el mtodo de


jacobi.

Debemos considerar las operaciones a realizar.


Debemos parar cuando el error sea >0.0001

DESARROLLO
Al ejecutar el programa este pide que insertemos los valores de nuestra funcin,
en este caso fue:
9x+5y-3z=3
x-4y+2z=2
2x+3y-7z=1

Al terminar de ingresar los valores de nuestra funcin, muestra la funcin que


ingresaste y lo que vale nuestra x1,y1,z1.

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

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


valores.

CODIGO
import java.io.*;
public class Jacobi {
public static void main(String[] args) throws IOException {
BufferedReader
entrada=
new
BufferedReader
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 Jacobi \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 ");
7

(new

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 ef=0.0001;

double y1 =r1/y01;
int i=2;
int d=10;

double z1 =r2/z02;
double e;

System.out.println("INTERACIONES \n");
System.out.println("x1 ="+x1);
System.out.println("y1 ="+y1);
System.out.println("z1 ="+z1);
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");
System.out.println("1\t"+x1+"\t"+y1+"\t"+z1+"\t1\n");
do{
double x=(r0+(y00*-1*y1)+(z00*-1*z1))/x00;
double y=(r1+(x01*-1*x1)+(z01*-1*z1))/y01;
double z=(r2+(x02*-1*x1)+(y02*-1*y1))/z02;
e=Math.sqrt(Math.pow((x-x1), 2)+Math.pow((y-y1), 2)+Math.pow((z-z1), 2));
System.out.println(+i+"\t"+x+"\t"+y+"\t"+z+"\t"+e+"\n");
i++;
x1=x;y1=y;z1=z;
}while (i<=d || e<=ef );
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);
}
}

CONCLUSIN

Durante el desarrollo de la practica nos enfrentamos a la disyuntiva de transformar


los procedimientos aprendidos en clase a pseudocdigo y posteriormente a
lenguaje Java.

Procedimientos que en papel podan ser algo laboriosos, en cdigo maquina nos
obligaban a aumentara el uso de variables y lneas de cdigo que al final
terminaban haciendo mucho mas complejo todo nuestro programa.

Lo anterior nos obligo a investigar otros caminos, como por ejemplo la formula
euclidiana para encontrar el error, ya que esta frmula es mucho ms sencilla que
como la que vimos en clase.

Para realizar el programa no tuvimos complicaciones ya que los conocimientos


obtenidos en clase fueron suficientes para poder realizarlos.

BIBLIOGRAFA

http://es.wikipedia.org/wiki/M%C3%A9todo_de_Jacobi

http://es.wikipedia.org/wiki/Carl_Gustav_Jakob_Jacobi

http://es.wikipedia.org/wiki/Geometr%C3%ADa_euclidiana

10

También podría gustarte