viernes, marzo 29, 2024

Algoritmos Numéricos – Lección 3

Descargar Ejemplos en C#
NewtonRaphson-Ejercicio1.zip
NewtonRaphson-Ejercicio2.zip

1. Método de Newton-Raphson: resuelve ecuaciones no lineales de la forma f(x)=0, para eso es necesario conocer un valor aproximado de la raíz. Es un método de convergencia condicionada, es decir el método puede no converger, alejándose de la solución, aunque comparado con los otros métodos que su convergencia de existir es muy rápidamente. Se fundamenta en buscar la tangente a la función f(x) en un punto inicial X0 y calcular el punto en que corta con el eje de las abscisas. El valor obtenido se toma como inicial y se repite el proceso para ir mejorando la solución (si el método converge), hasta llegar a la precisión deseada.

Ventaja: es un método mucho más eficiente y rápido para llegar a la solución.

Desventaja: No es un método de convergencia asegurada, o sea puede divergir, no llevarnos a la solución.

Inconvenientes: no tiene raíz definida, se aplica para buscar raíces de funciones a partir de conocer un aproximación inicial, cumpliéndose o no, las condiciones del Teorema de Bolzano.

Pasos:

1) Dado un punto inicial X° que es una aproximación a la raíz de la función f(x).

Si N <=Nmax y abs( f(x©ú)/ f '(x©ú) )>=EPS, ir al paso siguiente, sino la última iteración se toma como la mejor aproximación a la raíz.

2) Calcular la nueva aproximación a partir de la fórmula siguiente:

         x©ú ? = x©ú  – f(x©ú)
         f '(x©ú)
         Si f(x©ú ?) = 0, entonces x©ú ? es la raíz de la función, sino ir a 2

Como vemos para la resolución nos hace falta la derivada de f(x) se usa la definición de derivada de una función para no tener que calcularla, por lo que f'(x0) = (f(x0+h)-f(x0))/h, donde h tiende a cero, por ejemplo 10-6

Recomendaciones: Los mejores resultados de este método se aplican tomando como base inicial los resultados obtenidos después de varias iteraciones empleando el método de la Bisecciones Sucesivas o el de Regula-Falsi para el calculo de una raíz aproximada y luego dicho valor se toma como partida en este método(Newton-Raphson) y así conseguir un valor más exacto.

Ejemplo No. 1.

Dada la función f(x)=x³- x + 1, encontrar una raíz en el intervalo [-2 ; 2] de su dominio. Usar para sus cálculos ξ = 0.1 y un número máximo de pasos de 10 y X ° = 1, usando h = 0.000001.

N = 1 < =Nmax y abs( f(X°) / f´(X°)) =0.5242880 >EPS , aún no se ha llegado a la raíz, nótese que podemos usar f´(X) a través de su obtención analítica o a través de la formula que se dio usando un h lo más pequeño posible, que debe ser la opción que nosotros debemos usar a la hora de realizar un programa.

Calcular X¹ = X° – f(X°)/f´(X°) = 1 – f(1)/f´(1) = 0.4757120

f(X¹)‚ 0, entonces N = N+1 = 2

N = 2 < =Nmax y abs( f(X¹) / f´(X¹))= 2.1204470 >EPS , aún no se ha llegado a la raíz 

Calcular X² = X¹ – f(X¹)/f´(X¹) = 0.4757120  – f(0.4757120)/f´(0.4757120) = 2.5961590, nótese el salto que nos ha introducido el método, el cual es normal en las primeras iteraciones por tratar de acercarse lo más bruscamente a la solución, luego de los primeros pasos, el vuelve a comportarse dando resultados cada vez mas parecidos. Si persiste en mantenerse con valores alejados, entonces el método diverge, pero para eso tenemos que realizar unos cuantos pasos, para luego llegar a esa conclusión.

f(X²) =15.90206054‚ 0, entonces N = N+1 =3

N  < =Nmax y abs( f(X²) / f´(X²)) =0.8776065  >EPS , aún no se ha llegado a la raíz

Calcular X3 = X² – f(X²)/f´(X²) = 1.7185530

f(X3)‚ 0, entonces N = N+1 =4

N  < =Nmax y abs( f(X3) / f´(X3))= 0.6091613 >EPS , aún no se ha llegado a la raíz

Calcular X4 = X3 – f(X3)/f´(X3) = 1.1093920

f(X4)‚ 0, entonces N = N+1 =5

N  < =Nmax y abs( f(X4) / f´(X4))= 0.4789100>EPS , aún no se ha llegado a la raíz

Calcular X5 = X4 – f(X4)/f´(X4) = 0.6304815

f(X5)‚ 0, entonces N = N+1 =6

N  < =Nmax y abs( f(X5) / f´(X5))= 2.6010530 >EPS , aún no se ha llegado a la raíz

Calcular X6 = X5 – f(X5)/f´(X5) = -1.9705710

f(X6) ‚ 0, entonces N = N+1 =7

N  < =Nmax y abs( f(X6) / f´(X6))=0.4675104>EPS, aún no se ha llegado a la raíz

Calcular X7 = X6 – f(X6)/f´(X6) = -1.5030610

f(X7) ‚ 0, entonces N = N+1 =8

N  < =Nmax y abs( f(X7) / f´(X7))= 0.1412833>EPS , aún no se ha llegado a la raíz

Calcular X8 = X7 – f(X7)/f´(X7) = -1.3617770

f(X8)‚ 0, entonces N = N+1 =9

N  < =Nmax y abs( f(X8) / f´(X8))=0.0381107< EPS , por tanto el valor de X8=-1,3617770, es un valor aproximado a la raíz de la función f(x)

Ejercicio No. 2
Dada la función f(x)=x³- x + 1, encontrar una raíz en el intervalo [-2 ; 2] de su dominio. Usar para sus cálculos ξ = 0.000001 y un número máximo de pasos de 10. y X ° = – 1.3617770.

Descargar Ejemplos en C#
NewtonRaphson-Ejercicio1.zip
NewtonRaphon-Ejercicio2.zip

Roy Rojas
Roy Rojashttp://www.dotnetcr.com
Con más de 20 años de experiencia en programación, experto en lenguajes .NET, VB, C#, ASP.NET, Xamarin, XCode, DBA en SQL Server. Creador de dotnetcr.com, sitio web para programadores en español. royrojas.com | dotnetcr.com | GitHub
Roy Rojas
Roy Rojashttp://www.dotnetcr.com
Con más de 20 años de experiencia en programación, experto en lenguajes .NET, VB, C#, ASP.NET, Xamarin, XCode, DBA en SQL Server. Creador de dotnetcr.com, sitio web para programadores en español. royrojas.com | dotnetcr.com | GitHub