metodos numericos para ing. metodos programados en java con ejemplos y metodos de consola implementados
Java
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
src
.gitignore
manifest.mf
readme.md

readme.md

Metodos Numericos Para Ing.

estan implementados los siguientes metodos:

  • Biseccion
  • BusquedaIncremental
  • FalsaPosicion
  • Gauss
  • Gauss-Jacobi
  • Gauss-Jordan
  • Gauss-Seidel
  • Lagrange
  • Neville
  • Newton
  • NewtonRaphson
  • PuntoFijo
  • Secante
  • Trapecio
  • Trapecio Extendida
  • Simpson 1/3
  • Simpson 1/3 Extendida
  • Simpson 3/8
  • Simpson 3/8 Extendida
  • Cuadratura de Gauss
  • Romberg
  • Euler
  • Euler Mejorado
  • Runge Kutta

hay varios ejemplos por cada metodo, adicionalmente implemente una funcion para poder ingresar manualmente los datos, todo usa consola y tiene un menu por cada metodo

Caracteristicas

  • Controla la cantidad de decimales con los que reportas (para el calculo interno se usan todos los posibles)
  • Calcula el espaciado automaticamente entre numeros, para mejorar la visualización en el reporte
  • Puedes elegir si deseas mostrar decimales o fracciones

Librerias Requeridas

Descarga

si quieres descargar el proyecto con librerias incluidas, entra a la sección de Releases

https://github.com/jerson/MetodosNumericosParaIng/releases

Ejemplos

1)


 Biseccion biseccion= new Biseccion();
 Funcion funcion = new Funcion("x^2-5*x+6");
 biseccion.evaluar(funcion, 1, 2.5, 0.01);

Salida:



Funcion: x^2-5*x+6
Xa: 1.0
Xb: 2.5
 e: 0.01

  N  a           b           c           f(a)        f(b)        f(c)        E           
  1  1.0         1.75        2.5         2.0         0.3125      -0.25       1.75        
  2  1.75        2.125       2.5         0.3125      -0.1094     -0.25       0.375       
  3  1.75        1.9375      2.125       0.3125      0.0664      -0.1094     0.1875      
  4  1.9375      2.0313      2.125       0.0664      -0.0303     -0.1094     0.0938      
  5  1.9375      1.9844      2.0313      0.0664      0.0159      -0.0303     0.0469      
  6  1.9844      2.0078      2.0313      0.0159      -0.0078     -0.0303     0.0234      
  7  1.9844      1.9961      2.0078      0.0159      0.0039      -0.0078     0.0117      
  8  1.9961      2.002       2.0078      0.0039      -0.0019     -0.0078     0.0059      
 
Solucion Estimada:2.0         
Valor de Comprobacion:0.0  
 

2)



 Gauss gauss = new Gauss();
 double[][] matriz = new double[3][4];

 matriz[0][0] = 5;
 matriz[0][1] = -8;
 matriz[0][2] = 1;
 matriz[0][3] = -71;

 matriz[1][0] = -2;
 matriz[1][1] = 6;
 matriz[1][2] = -9;
 matriz[1][3] = 134;

 matriz[2][0] = 3;
 matriz[2][1] = -5;
 matriz[2][2] = 2;
 matriz[2][3] = -58;

 gauss.evaluar(matriz, false);

Salida:




--------------------------------------------------
-----------------METODO DE GAUSS------------------
--------------------------------------------------
--------
I=0
--------
alpha= -2.0 / 5.0 = -0.4

A10=A10-alpha*A00 => 0.0 = 0.0 - 5.0 * -0.4
A11=A11-alpha*A01 => 2.8 = 2.8 - -8.0 * -0.4
A12=A12-alpha*A02 => -8.6 = -8.6 - 1.0 * -0.4
A13=A13-alpha*A03 => 105.6 = 105.6 - -71.0 * -0.4

alpha= 3.0 / 5.0 = 0.6

A20=A20-alpha*A00 => 0.0 = 0.0 - 5.0 * 0.6
A21=A21-alpha*A01 => -0.2 = -0.2 - -8.0 * 0.6
A22=A22-alpha*A02 => 1.4 = 1.4 - 1.0 * 0.6
A23=A23-alpha*A03 => -15.4 = -15.4 - -71.0 * 0.6


       0      1      2       3   
 0 [  5.0    -8.0   1.0  | -71.0 ]
 1 [  0.0    2.8    -8.6 | 105.6 ]
 2 [  0.0    -0.2   1.4  | -15.4 ]

--------------------------------------------------


--------
I=1
--------
alpha= -0.2 / 2.8 = -0.0714

A20=A20-alpha*A10 => 0.0 = 0.0 - 0.0 * -0.0714
A21=A21-alpha*A11 => 0.0 = 0.0 - 2.8 * -0.0714
A22=A22-alpha*A12 => 0.7857 = 0.7857 - -8.6 * -0.0714
A23=A23-alpha*A13 => -7.8571 = -7.8571 - 105.6 * -0.0714


        0        1        2         3    
 0 [   5.0      -8.0     1.0   |  -71.0  ]
 1 [   0.0      2.8      -8.6  |  105.6  ]
 2 [   0.0      0.0     0.7857 | -7.8571 ]

--------------------------------------------------


Calculando Xi
X2= (-7.8571) / (0.7857) =-10.0
X1= (105.6) - [(0.0)*(0.0) + (2.8)*(0.0) + (-8.6)*(-10.0)] / (2.8) = 7.0
X0= (-71.0) - [(5.0)*(0.0) + (-8.0)*(7.0) + (1.0)*(-10.0)] / (5.0) = -1.0

Resultados:
X0=-1.0
X1=7.0
X2=-10.0

Comprobandolo:

       0      1      2       3   
 0 [  5.0    -8.0   1.0  | -71.0 ]
 1 [  -2.0   6.0    -9.0 | 134.0 ]
 2 [  3.0    -5.0   2.0  | -58.0 ]

5.0(-1.0)+-8.0(7.0)+1.0(-10.0)=-71.0
-2.0(-1.0)+6.0(7.0)+-9.0(-10.0)=134.0
3.0(-1.0)+-5.0(7.0)+2.0(-10.0)=-58.0

3)


 Neville neville = new Neville();
 double[] x=new double[3];
 double[] y=new double[3];

 double numero = 251;
 x[0]=94;
 x[1]=205;
 x[2]=371;

 y[0]=929;
 y[1]=902;
 y[2]=860;

 neville.evaluar(x,y,numero);


Salida:



--------------------------------------------------
------------Interpolacion de Neville-------------
--------------------------------------------------


  X  [  94.0 | 205.0 | 371.0 ]
 f(x)[ 929.0 | 902.0 | 860.0 ]

x = 251.0

--------
K=1
--------
f[0][1] = 890.8108108108108
f[1][1] = 890.3614457831326
--------
K=2
--------
f[0][2] = 890.5561165532459
------------------------------------------------------------

 i         Xi       |      f(Xi)     |     ?0f(Xi)    |     ?1f(Xi)    |     ?2f(Xi)    
 0 [      94.0      |      929.0     |      929.0     | 890.8108108108 | 890.5561165532 ]
 1 [      205.0     |      902.0     |      902.0     | 890.3614457831 |       0.0      ]
 2 [      371.0     |      860.0     |      860.0     |       0.0      |       0.0      ]

Resultado:
Pnx=890.5561165532