El Método de Sustitución Directa básicamente consiste en asumir un valor, reemplazar el mismo en la función despejada y emplear el resultado como nuevo valor de prueba. Repitiendo este procedimiento hasta que los valores asumido y calculado sean iguales en un determinado número de dígitos (en una precisión preestablecida).
No obstante se debe aclarar que el método de sustitución directa no siempre encuentra la solución (no siempre converge). En ocasiones puede alejarse de la misma u oscilar entre dos o más valores.
El algoritmo es el siguiente
En el algoritmo, el proceso se lleva a cabo en un ciclo que termina cuando se alcanza la precisión o alternativamente la exactitud: |x1-y1| < err.
Como ya dijimos más arriba, este método a veces no encuentra la solución lo que nos llevaría a un ciclo infinito, para evitar esto se implementa un numero máximo de iteraciones tras los cuales el método retornaría «-1» para romper el ciclo.
Implementando el algoritmo en código java, tenemos:
/** * @see https://www.jc-mouse.net/ * @author jc mouse */ public class SustitucionDirecta { /** * @param x1 Valor incial Ej. 3 * @param err Error permitdo Ej. 1e-10 * @param li Limite de iterraciones Ej. 100 * @return double */ public double calcular(double x1, double err, double li){ double y1; double c=1; while (true){ y1 = g(x1); if (Math.abs(x1-y1)<err) return y1; if (Math.abs(x1/y1-1)<err) return y1; if (c==li) return -1; c++; x1=y1; } } /** * Funcion a resolver * @param x incognita * @return double */ private double g(double x){ return Math.pow(52+3*Math.sqrt(x)-8*Math.pow(x,0.8),0.36); } }
En la clase, al declarar el método g(x), se escribe la ecuación que se busca resolver que para nuestro ejemplo es:
Y para resolver esa ecuación haríamos lo siguiente:
SustitucionDirecta sustitucionDirecta = new SustitucionDirecta(); double valor = sustitucionDirecta.calcular(3, 1e-10, 100); System.out.println(valor);
y por consola tenemos:
enjoy!!!
Yo soy yo :) JC Mouse, Soy orgullosamente boliviano soy fundador y CEO de la web jc-Mouse.net uno de las pocas web en emprendimiento y tecnología en Bolivia.
Toda la información que encuentres en este sitio es y sera completamente gratis siempre, puedes copiar, descargar y re-publicar si así lo deseas en otros blogs o sitios web, solo te pido a cambio que dejes una referencia a esta web. Esto nos ayuda a crecer y seguir aportando. Bye
Enjoy! :)
Los gráficos de líneas muestran una serie como un conjunto de puntos conectados mediante una línea. Los valores se repre...
DOM4J es una de las librerías para java más populares para el trabajo con XML ya que nos permite crea, editar y leer doc...
En este tutorial crearemos el botón de Google+ Google Circles para una interfaz de escritorio 🙂 si no sabes lo que son e...
El laberinto del terror es un juego en el que haciendo uso del ratón y de tu pulso de borracho debes cruzar distintos la...
Una Vista (View) es una Tabla Virtual cuyo contenido está definido por una consulta (SELECT), al igual que una tabla rea...
El IDE Netbeans al igual que Eclipse :), nos permite personalizar el espacio de trabajo y añadir funcionalidades que nos...
Por lo general se usan transacciones a nivel base de datos y posteriormente se llaman estos a través de procedimientos a...
En este post, aprenderemos como conectar Visual Basic 6 con SQL Server, abrir una tabla, leer su contenido y mostrar est...
Lo que veremos en este post es la configuración del driver para PHP de SQL Server que ha creado Microsoft el cual permit...
Google Bard la inteligencia artificial de Google se actualiza con una mejora que entra a competir con el resto de IAs y...