Java Programa de Newton- Raphson

Cómo escribir una Java Programa de Newton- Raphson en Java Programming Language ?

Java Programa de Newton- Raphson

  1. package programa1;
  2.  
  3. public class NewtonRaphson {
  4.     double x0, tol; // la variable x0 será el valor inicial, tol será la tolerancia del error
  5.         int noite; //noite es el número de iteraciones a realizar
  6.        
  7.         //Se crea el método Resuelve donde tiene como parámetros el valor inicial(x1), la tolerancia y el número de iteraciones
  8.         //Se utiliza para obtener los valores que se usarán como iniciales
  9.         public void Resuelve(double x1, double tolerancia, int iteraciones){
  10.                 x0 = x1;
  11.                 tol = tolerancia;
  12.                 noite = iteraciones;
  13.         }
  14.         //El método funcion servirá para valuar a la función original
  15.         public double funcion(double x){
  16.                 //Esta es la función a evaluar f(x)=-x^2+1.8x.2.5 donde y es el valor del resultado de evaluar la función
  17.                 double y = ((-x*x) + 1.8*+2.5);
  18.                 return y;//Se retorna el valor de evaluar en la función
  19.         }
  20.         //El método función servirá para evaluar en la derivada el valor de x
  21.         public double derivada(double x){
  22.             double z = (-2*+1.8);
  23.             return z; //Se retorna el resultado al evaluar
  24.         }
  25.         //El método calculaRaiz es donde se va obteniendo el valor de la raíz en cada iteración
  26.         public void calculaRaiz(){
  27.                 double x = x0;
  28.                 double anterior=0; //Se iguala a 0 porque al realizar el primer error se utiliza 0 como primer valor anterior
  29.                 int n = 0; //n es el número de iteraciones y se inicializa en 0
  30.                 while(((Math.abs(x-anterior))/x)*100>tol){ //Se realiza la condición de porcentaje de error y mientras el porcentaje sea mayor a la tolerancia se realiza lo siguiente
  31.                         n = n+1; //Cada vez se va incrementando el número de iteraciones
  32.                         anterior = x; //el valor anterior se va renovando por el último valor x utilizado en el proceso
  33.                         if(> noite) //Si el número de iteraciones es mayor del que se puso en el parámetro se termina el proceso
  34.                             break;
  35.                         double y = funcion(x); //Se evalúa el valor de x en la función
  36.                         double fdx= derivada(x); //Se evalúa en la derivada el valor de x
  37.                         x = anterior - (y/fdx); //Se realiza la ecuación para obtener la raíz
  38.  
  39.                 }
  40.                 System.out.println("La raiz es = "+x); //Se imprime el valor de la raíz
  41.                 System.out.println("El resultado fue en: "+ n+" iteraciones."); //Se imprime el número de iteraciones en el que se logró
  42.                 System.out.println("Porcentaje de error = "+tol+"%"); //Se muestra el porcentaje de error deseado
  43.  
  44.  
  45.         }
  46. }


Learn More :

Learn More Multiple Choice Question :