Ejercicio Metodos (Java)

16
METODOS NUMERICOS F(x)=e -2x -x Escuela De Ingeniería De Petróleos DIEGO F. Universidad Industrial De Santander I Semestre de 2010 0 0.2 0.4 0.6 0.8 1 1.2 -1 -0.5 0 0.5 1 1.5

Transcript of Ejercicio Metodos (Java)

Page 1: Ejercicio Metodos (Java)

METODOS NUMERICOS

F(x)=e-2x-xEscuela De Ingeniería De Petróleos

DIEGO F.Universidad Industrial De Santander

I Semestre de 2010

0 0.2 0.4 0.6 0.8 1 1.2

-1

-0.5

0

0.5

1

1.5

Page 2: Ejercicio Metodos (Java)

METODOS NUMERICOS

F(x)=e-2x-xEscuela De Ingeniería De Petróleos

METODO DE BISECCIONITE Xi Xs Xr=Xi+Xs/2 F(Xi) F(Xr) F(Xi)*F(Xr) Ea0 0 2 1 1 -0,86 -0,86466 1 0 1 0,5 1 -0,13 -0,13212 1002 0 0,5 0,25 1 0,357 0,356531 1003 0,25 0,5 0,375 0,3565 0,097 0,034714 33,334 0,375 0,5 0,4375 0,0974 -0,02 -0,00201 14,295 0,375 0,438 0,40625 0,0974 0,037 0,003651 7,6926 0,406 0,438 0,421875 0,0375 0,008 0,000308 3,7047 0,422 0,438 0,4296875 0,0082 -0,01 -5,1E-05 1,8188 0,422 0,43 0,4257813 0,0082 1E-03 7,94E-06 0,9179 0,426 0,43 0,4277344 0,001 -0 -2,6E-06 0,457

10 0,426 0,428 0,4267578 0,001 -0 -8,1E-07 0,22911 0,426 0,427 0,4262695 0,001 6E-05 5,95E-08 0,115

package metododebiseccion;import javax.swing.JOptionPane; // author 093IPpublic class Main {public static void main(String[] args) {

DIEGO F.Universidad Industrial De Santander

I Semestre de 2010

Page 3: Ejercicio Metodos (Java)

METODOS NUMERICOS

F(x)=e-2x-xEscuela De Ingeniería De Petróleos

double Error, Xi, Xs, Xr, FXi, FXr, C, Vv; int Iteracion; Iteracion=0; Xi=Double.parseDouble(JOptionPane.showInputDialog("Introduzca Xi: ")); Xs=Double.parseDouble(JOptionPane.showInputDialog("Introduzca Xs: ")); Xr=(Xi+Xs)/2; Vv=Xr; FXi=Math.exp(-2*Xi)-Xi; FXr=Math.exp(-2*Xr)-Xr; C=(FXi*FXr); Error=100;

while (Error!=0) { Iteracion=Iteracion+1; if (C>0) { Xi=Xr; } else if (C<0) { Xs=Xr; } Xr=(Xi+Xs)/2; Error=Math.abs(((Xr-Vv)/Xr)*100); Vv=Xr; FXi=Math.exp(-2*Xi)-Xi; FXr=Math.exp(-2*Xr)-Xr; C=(FXi*FXr); } JOptionPane.showMessageDialog( null, "" + Xr, "El Valor de la Raiz", JOptionPane.PLAIN_MESSAGE ); }}

DIEGO F.Universidad Industrial De Santander

I Semestre de 2010

Page 4: Ejercicio Metodos (Java)

METODOS NUMERICOS

F(x)=e-2x-xEscuela De Ingeniería De Petróleos

METODO FALSA POSICION

ITE Xi Xs Xr=Xs-F(Xs)(Xi-Xs) F(Xi)-F(Xs) F(Xi) F(Xs) F(Xr) F(Xi)*F(Xr) Ea

0 0 2 0,670762 1 -1,982 -0,40931 -0,4093148 1 0 0,6708 0,475949 1 -0,409 -0,08994 -0,0899411 40,9312 0 0,4759 0,436674 1 -0,09 -0,01912 -0,0191227 8,99413 0 0,4367 0,42848 1 -0,019 -0,00403 -0,00403 1,91234 0 0,4285 0,42676 1 -0,004 -0,00085 -0,0008477 0,4035 0 0,4268 0,426399 1 -8E-04 -0,00018 -0,0001782 0,08486 0 0,4264 0,426323 1 -2E-04 -3,7E-05 -3,747E-05 0,0178

package metododefalsaposicion;import javax.swing.JOptionPane;public class Main { public static void main(String[] args) {

DIEGO F.Universidad Industrial De Santander

I Semestre de 2010

Page 5: Ejercicio Metodos (Java)

METODOS NUMERICOS

F(x)=e-2x-xEscuela De Ingeniería De Petróleos

double Error, Xi, Xs, Xr, FXi, FXr, FXs, C, Vv; int Iteracion; Iteracion=0; Xi=Double.parseDouble(JOptionPane.showInputDialog("Introduzca Xi: ")); Xs=Double.parseDouble(JOptionPane.showInputDialog("Introduzca Xs: ")); FXi=Math.exp(-2*Xi)-Xi; FXs=Math.exp(-2*Xs)-Xs; Xr= Xs-((FXs)*(Xi-Xs))/(FXi-FXs); Vv=Xr; FXr=Math.exp(-2*Xr)-Xr; C=(FXi*FXr); Error=100; while (Error!=0) { Iteracion=Iteracion+1; if (C>=0) { Xi=Xr; } else { Xs=Xr; } FXi=Math.exp(-2*Xi)-Xi; FXs=Math.exp(-2*Xs)-Xs; Xr= Xs-((FXs)*(Xi-Xs))/(FXi-FXs); FXr=Math.exp(-2*Xr)-Xr; Error=Math.abs((Xr-Vv)/Xr)*100; Vv=Xr; C=(FXi*FXr);} JOptionPane.showMessageDialog( null, "" + Xr, "El Valor de la Raiz", JOptionPane.PLAIN_MESSAGE ); }}

DIEGO F.Universidad Industrial De Santander

I Semestre de 2010

Page 6: Ejercicio Metodos (Java)

METODOS NUMERICOS

F(x)=e-2x-xEscuela De Ingeniería De Petróleos

METODO DE SECANTEITE Xi-1 xi F(xi) F(xi-1) xi+1 ERROR

0 0 2 -1,98168 1 0,6707618 198,1681 2 0,671 -0,40931 -1,9817 0,3247383 106,5552 0,671 0,325 0,197581 -0,4093 0,4373896 25,75543 0,325 0,437 -0,02044 0,19758 0,4268304 2,473884 0,437 0,427 -0,00098 -0,0204 0,4263001 0,124395 0,427 0,426 4,98E-06 -0,001 0,4263028 0,000636 0,426 0,426 -1,2E-09 5E-06 0,4263028 1,5E-077 0,426 0,426 -1,5E-15 -1E-09 0,4263028 2E-13

DIEGO F.Universidad Industrial De Santander

I Semestre de 2010

Page 7: Ejercicio Metodos (Java)

METODOS NUMERICOS

F(x)=e-2x-xEscuela De Ingeniería De Petróleos

package metododelasecante;import javax.swing.JOptionPane;public class Main { public static void main(String[] args) {

double Error, Xa, Xi, Xb, FXa, FXi; int Iteracion; Xa=Double.parseDouble(JOptionPane.showInputDialog("Introduzca Xi-1:")); Xi=Double.parseDouble(JOptionPane.showInputDialog("Introduzca Xi: ")); FXa=Math.exp(-2*Xa)-Xa; FXi=Math.exp(-2*Xi)-Xi; Xb=Xi-((FXi*(Xi-Xa))/(FXi-FXa)); Error=100; Iteracion=0;

while (Error!=0) { Iteracion=Iteracion+1; Xa=Xi; Xi=Xb; FXa=Math.exp(-2*Xa)-Xa; FXi=Math.exp(-2*Xi)-Xi; Xb=Xi-((FXi*(Xi-Xa))/(FXi-FXa)); Error=Math.abs(((Xb-Xi)/Xb)*100); }JOptionPane.showMessageDialog( null, "" + Xb, "El Valor de la Raiz", JOptionPane.PLAIN_MESSAGE ); } }

DIEGO F.Universidad Industrial De Santander

I Semestre de 2010

Page 8: Ejercicio Metodos (Java)

METODOS NUMERICOS

F(x)=e-2x-xEscuela De Ingeniería De Petróleos

METODO NEWTONITE xi F(x) F´(x) ERROR0 1 -0,864665 -1,27067 1 0,319521 0,208277 -2,0556 212,96852 0,420843 0,010141 -1,86197 24,075953 0,426289 2,55E-05 -1,85263 1,2775674 0,426303 1,61E-10 -1,85261 0,0032255 0,426303 0 -1,85261 2,04E-086 0,426303 0 -1,85261 0

DIEGO F.Universidad Industrial De Santander

I Semestre de 2010

Page 9: Ejercicio Metodos (Java)

METODOS NUMERICOS

F(x)=e-2x-xEscuela De Ingeniería De Petróleos

package metododenewton;import javax.swing.JOptionPane;public class Main { public static void main(String[] args) {

double Xi, FXi, DFXi, Error, Xb; int Iteracion; Xi=Double.parseDouble(JOptionPane.showInputDialog("Introduzca Xi: ")); FXi=Math.exp(-2*Xi)-Xi; DFXi=(-2*Math.exp(-2*Xi))-1; Error=100; Iteracion=0;

while (Iteracion!=10) { Iteracion=Iteracion+1; Xb=Xi; Xi=Xb-(FXi/DFXi); FXi=Math.exp(-2*Xi)-Xi; DFXi=(-2*Math.exp(-2*Xi))-1; Error=Math.abs(((Xi-Xb)/Xi)*100); }JOptionPane.showMessageDialog( null, "" + Xi, "El Valor de la Raiz", JOptionPane.PLAIN_MESSAGE ); }}

DIEGO F.Universidad Industrial De Santander

I Semestre de 2010

Page 10: Ejercicio Metodos (Java)

METODOS NUMERICOS

F(x)=e-2x-xEscuela De Ingeniería De Petróleos

METODO PUNTO FIJOG1(x)

ITE X F(x) G(x)

1 0 1 12 1 -0,864664717 0,1353352833 0,135335 0,627532486 0,7628677694 0,762868 -0,545406722 0,2174610475 0,217461 0,429854048 0,6473150956 0,647315 -0,373315921 0,2739991737 0,273999 0,304106647 0,578105828 0,578106 -0,263429789 0,3146760319 0,314676 0,218260967 0,532936999

10 0,532937 -0,188510304 0,34442669511 0,344427 0,157724816 0,50215151112 0,502152 -0,135851662 0,36629984913 0,3663 0,114357951 0,48065779914 0,480658 -0,098268316 0,38238948415 0,382389 0,083047313 0,46543679616 0,465437 -0,071227615 0,39420918217 0,394209 0,060353999 0,45456318118 0,454563 -0,051687143 0,40287603819 0,402876 0,04387577 0,44675180920 0,446752 -0,037532319 0,4092194921 0,409219 0,031900225 0,44111971422 0,44112 -0,02726464 0,413855074

DIEGO F.Universidad Industrial De Santander

I Semestre de 2010

Page 11: Ejercicio Metodos (Java)

METODOS NUMERICOS

F(x)=e-2x-xEscuela De Ingeniería De Petróleos

23 0,413855 0,023193844 0,437048918

package metododepuntofijo;import javax.swing.JOptionPane;public class Main { public static void main(String[] args) {

double Xi, FXi, GFXi, Error; int Iteracion; Xi=Double.parseDouble(JOptionPane.showInputDialog("Introduzca Xi: ")); FXi=Math.exp(-2*Xi)-Xi; GFXi=FXi+Xi; Error=100; Iteracion=0; while (Iteracion!=100) { Iteracion=Iteracion+1; Xi=GFXi; FXi=Math.exp(-2*Xi)-Xi; GFXi=FXi+Xi; Error=Math.abs((GFXi-Xi)/GFXi)*100; }JOptionPane.showMessageDialog( null, "" + Xi, "El Valor de la Raiz", JOptionPane.PLAIN_MESSAGE ); }}

DIEGO F.Universidad Industrial De Santander

I Semestre de 2010