PROGRAMACION EN MATLAB

Escrito por richardt 07-04-2010 en General. Comentarios (8)
En este espacio de blogs encontrarar algoritmos para encontrar raices en matlab.

MÉTODO DE NEWTON - RAPHSON MEJORADO
Una raíz  múltiple corresponde a un punto donde una función es tangente al eje x. Por ejemplo, una raíz doble resulta de

f(x) = (x-3)(x-1)(x-1)


multiplicando términos este polinomio luce como

f(x) = x3 - 5x2 + 7x – 3

En la siguiente figura podemos ver como la función toca tangencialmente el eje de la x, en el punto donde existe la raíz doble.



De la figura podemos ver algunos de los problemas asociados con raíces múltiples, dichos problemas son:

Dadoque la función no cambia de signo, utilizar métodos basados enintervalos, como son el método de bisecciones, regula Falsi, etc.  Otroproblema es que cerca de la solución, la derivada tiende a cero, locual provoca que en el algoritmo de Newton-Raphson tenga problemas deconvergencia al tener una división por cero.
Ralstony Rabinowitz (1978) proponen que se haga un pequeño cambio en laformulación para que retorne la convergencia, así la formulación parael método de Newton-Raphson es

Sustituyendo esta, tenemos la formulación final del Método de Newton-Raphson modificado.

 
Ejemplo.

Haceruna comparación entre el método de Newton-Raphson y el método deNewton-Raphson modificado, para encontrar las raíces del polinomio f(x) = x3 - 5x2 + 7x – 3.

Para nuestro calculo requerimos de:

f(x) = x3 - 5x2 + 7x – 3
f’(x) =3 x2 - 10x + 7
f’’(x) = 6x –10
Primeramente resolvemos con x0 = 0.
Newton-Raphson


Newton-Raphson modificado
k
xk
f(xk)

k
xk
f(xk)
0
0
-3

0
0
-3
1
0.42857143
-0.83965015

1
1.10526316
-0.02099431
2
0.68571429
-0.22859475

2
1.00308166
-1.8964E-05
3
0.8328654
-0.06053668

3
1.00000238
-1.1343E-11
4
0.91332989
-0.01567446




5
0.95578329
-0.00399668




6
0.9776551
-0.00100975




7
0.98876617
-2.54E-04




8
0.99436744
-6.36E-05




9
0.99717977
-1.59E-05




10
0.99858889
-3.99E-06




11
0.9992942
-9.97E-07




12
0.99964704
-2.49E-07




13
0.9998235
-6.23E-08




14
0.99991175
-1.56E-08




15
0.99995587
-3.89E-09




16
0.99997794
-9.74E-10




17
0.99998897
-2.43E-10




18
0.99999448
-6.09E-11





La solución con x0 = 4

Newton-Raphson


Newton-Raphson modificado
k
xk
f(xk)

k
xk
f(xk)
0
4
9

0
4
9
1
3.4
2.304

1
2.63636364
-0.97370398
2
3.1
0.441

2
2.82022472
-0.5956347
3
3.00869565
0.03508572

3
2.96172821
-0.1472843
4
3.00007464
2.99E-04

4
2.99847872
-6.08E-03
5
3.00000001
2.23E-08

5
2.99999768
-9.27E-06
6
3
-1.07E-14

6
3
-2.15E-11

Note que cuando existe una raíz múltiple (en el caso de x=1), el algoritmo de Newton Raphson modificado, tiene mejor comportamiento, que cuando no es el caso de raíz múltiple (x=3).


MÉTODO DE LA BISECCION EN MATLAB
Ejemplo en matlab:
Algoritmo: VER IMAGEN:
Ver: FUNCION
Ver: RESULTADO
MÉTODO DE DE LA REGLA FALSA EN MATLAB
Ejermplo
Algoritmo: VER IMAGEN:
Funcion: VER IMAGEN:
Resultado:  VER IMAGEN
MÉTODO DE NEWTON - RAPHSON EN MATLAB
Ejemplo en matlab:
Algoritmo: VER IMAGEN:
Ver: FUNCION
Ver: RESULTADO
CAMBIO DE BASES EN MATLABMÉTODO DE NEWTON - RAPHSON
Supongamos que tenemos la aproximación a la raíz de ,
Trazamos la recta tangente a la curva en el punto ; ésta cruza al eje en un punto que será nuestra siguiente aproximación a la raíz .
Para calcular el punto , calculamos primero la ecuación de la recta tangente. Sabemos que tiene pendiente

Y por lo tanto la ecuación de la recta tangente es:

Hacemos :

Y despejamos :


Que es la fómula iterativa de Newton-Raphson para calcular la siguiente aproximación:

, si
Noteque el método deNewton-Raphson no trabaja con intervalos donde nosasegure queencontraremos la raíz, y de hecho no tenemos ningunagarantía de quenos aproximaremos a dicha raíz. Desde luego, existenejemplos dondeeste método no converge a la raíz, en cuyo caso se diceque el métododiverge. Sin embargo, en los casos donde si converge a laraíz lo hacecon una rapidez impresionante, por lo cual es uno de losmétodospreferidos por excelencia.
También observe que en el caso de que ,elmétodo no se puede aplicar. De hecho, vemos geométricamente queestosignifica que la recta tangente es horizontal y por lo tantonointersecta al eje en ningún punto, a menos que coincida con éste, en cuyo caso mismo es una raíz de !

Ejemplo 1
Usar el método de Newton-Raphson, para aproximar la raíz de , comenzando con y hasta que .
Solución
En este caso, tenemos que

De aquí tenemos que:

Comenzamos con y obtenemos:

En este caso, el error aproximado es,

Continuamos el proceso hasta reducir el error aproximado hasta donde se pidió.
Resumimos los resultados en la siguiente tabla:

Aprox. a la raíz Error aprox.
1
1.268941421 21.19%
1.309108403 3.06%
1.309799389 0.052%
De lo cual concluímos que , la cual es correcta en todos sus dígitos.
Veremos a continuación un ejemplo del metódo de Newton Raphson, con la siguiente ecuación:

X ^ 3 + X + 1 6  =  0


# Fxn Dfxn Nuevo Xm
1 18 4 -3.5
2 12.5 37.75 -3.8311258278146
3 -44.062571359569 45.032575325644 -2.8526658787457
4 -10.066812462104 25.41310784728 -2.4565391034374
5 -1.2807315732707 19.103753100152 -2.3894982677149
6 -0.03282123757409 18.129105914238 -2.3876878509338

Hemos terminado de analizar el método de la Newton Rapshon, en este ejemplo con un error de 0.0001; se encuentra la última raiz(Xm): -2.3876878509338 con 6 iteracciones.