You are on page 1of 4

Universidad Autnoma de Nuevo Len

Facultad de Ciencias FsicoMatemticas

Mtodo Romberg

Manual de Usuario Una vez ejecutado y activado el programa, este comenzara a pedirle los datos al usuario. Dichos datos que pedir el programa son la funcin, el rango y las subdivisiones. Paso siguiente el programa por si solo buscara encontrar h y una vez haya sido encontrada proseguir con los mtodos para conseguir los resultados mediante el mtodo trapezoidal ya que dichas respuestas sern importantes para el mtodo romberg. Una vez conseguidas las respuestas el programa buscara cual es la h mayor y la h menor para acomodarlas debidamente y sustituirlas en el mtodo de romberg. Al hacer esto resuelve la ecuacin y arroja un resultado.

Algoritmo Tarea 5Mtodo Romberg Problema Elabore un programa que encuentre el resultado de una integral definida para un polinomio de grado mximo 5 mediante el mtodo Romberg. Datos de entrada: La funcin polinomial a integrar, el rango a evaluar y las subdivisiones a utilizar (n). Datos de saluda: El resultado de la integral evaluada. Algoritmo 1.- Comenzar programa. 2.- Preguntar al usuario el por los datos. 3.- Capturar la funcin. 4.-Capturar rango y subdivisiones. 5.- En base a los ltimos datos ingresados por el usuario y mediante una formula el programa consigue h. 6.- Una vez con los valores h y n, prosigue a evaluar la funcin con el mtodo trapezoidal. 7.- Consigue resultados mediante el mtodo trapezoidal. 8.- Con estos resultados, se sustituyen en la ecuacin del mtodo de romberg dependiendo de las ns mayor y menor. 9.- Se consigue el resultado mediante mtodo romberg. 10.- Fin del programa.

Cdigo importjavax.swing.JOptionPane; import java. math.*;

public class MetodoRomberg { privateint g; private double pol[], A, B, N, H; private double Int1, Int2,Integ;

private String auxi = ""; public void Cuadrada() { doublesuma=0; JOptionPane.showMessageDialog(null, "METODO ROMBERG", "Metodo de Integracion Romberg",JOptionPane.INFORMATION_MESSAGE); g=Integer.parseInt(JOptionPane.showInputDialog(null,"Ingrese el grado del polinomio a evaluar")); pol = new double [g+1]; for(int i=0; i<=g; i++ ){ pol[i]=Integer.parseInt(JOptionPane.showInputDialog(null,"Ingrese coeficiente de x ^"+i+ " " )); auxi += pol[i]+ "x^" + i + " "; if (i!=g){ auxi+= "+ "; } } JOptionPane.showMessageDialog(null, "El polinomio a evaluares: \n " + auxi , "METODO ROMBERG", JOptionPane.INFORMATION_MESSAGE); A=Integer.parseInt(JOptionPane.showInputDialog(null, "Ingrese desde donde se evaluara la funcion")); B=Integer.parseInt(JOptionPane.showInputDialog(null, "Ingrese hasta donde se evaluara la funcion")); N=Integer.parseInt(JOptionPane.showInputDialog(null, "Ingrese las subdivisiones a utilizar (valor de n)")); H= (B-A)/N; for (int r=0; r<(N-1); r++){ suma += evaluar(pol,(A+r*H)); } Int1 =((H/2)*(evaluar(pol, A ) + 2*(suma) + evaluar(pol, B))); System.out.print(Int1); double H2 =(B-A)/(2*N); suma =0; for (int r=0; r<(2*N-1); r++){ suma += evaluar(pol,(A+r*H2)); } Int2 =((H/2)*(evaluar(pol, A ) + 2*(suma) + evaluar(pol, B))); System.out.print(Int2); Integ = Int1 + (Int1+Int2)/3; JOptionPane.showMessageDialog(null, "El valor de la integral del polinomio \n" + auxi + "\n es: " + Integ, "Resultado:",JOptionPane.INFORMATION_MESSAGE); } public static void main(String[] args)

{ int res=1; do{ MetodoRomberg objet=new MetodoRomberg(); objet.Cuadrada(); res = Integer.parseInt(JOptionPane.showInputDialog("\n Para continuar\n presiona 1\n para terminar\n presiona 0")); }while(res==1); } private double evaluar(double[] polinomio, double X) { int f = polinomio.length; double result=0; for(int j = 0; j < f; j++ ){ result += polinomio[j]*Math.pow(X, j) ; } System.out.println(result) ; return result; } }

You might also like