Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
1
Etapas del Cálculo Aproximado de Raices
2
Teorema de Bolzano
1.0
0.8
0.6
0.4
0.2
−0.2
−0.4
−0.6
−0.8
−1.0
1 5 9 13 17 21 25 29 33
3
Teorema de Rolle
f’(u)=0
f(a) f(b)
a b
Figure 2: Ejemplo Teorema de Rolle.
4
Ejemplos
f(b)
f’(x)>0
a f(x*)=0 b
f(a)
5
Ejemplos
6
Método de la Bisección
Descripción:
• Está basado en el teorema de Bolzano.
• Dividimos el intervalo [a, b] en dos subintervalos iguales,
a+b a+b
],
[a, [ , b]
2 2
Pueden presentarse dos casos:
1. Si f ( a+b ∗
2 ) = 0, entonces x =
a+b
2 .
2. Si f ( a+b a+b a+b
2 ) 6= 0, entonces se elige el intervalo, [a, 2 ] ó [ 2 , b], en
cuyos extremos la función toma signos opuestos y de esta forma
se aplica otra vez el teorema de Bolzano.
• Reiterando el proceso anterior, ó bien obtenemos la raiz exacta ó
(k) (k)
bien una sucesión de intérvalos cerrados {[x1 , x2 ]}∞
n=0 encajados
(k+1) (k+1) (k) (k)
[x1 , x2 ] ⊂ [x1 , x2 ] que tienden hacia el valor de la raiz.
• Se toma como aproximación de la raiz el punto medio del intervalo
que cumpla la tolerancia τ deseada.
(k+1) (k+1)
∗ x2 + x1 (k+1) (k+1)
x = , |x2 − x1 |≤τ
2
7
Método de la Bisección
8
Método de la Bisección
9
biseccion.sci
function [z] = biseccion(f, xi, xd, tolerancia)
// Programa para calcular las raices de una funcion
// por el metodo de la biseccion
//
// UTILIZACION: z= biseccion(f, xi, xd, tolerancia)
// INPUT: f = funcion
// xi = extremo izquierdo del intervalo
// xd = extremo derecho del intervalo
// tolerancia = error absoluto
// OUTPUT: z = valor de la raiz
N = ceil( log((xd - xi) / tolerancia) / log(2));
for i=1:N
z= (xi + xd)/2;
t = f(xi) * f(z);
if t == 0 then break;
elseif t < 0 then xd = z; // raiz esta en [xi, z]
else xi = z; // raiz esta en [z, xd]
end;
end;
z= (xi + xd)/2;
printf(’Numero de Iteraciones=%3d’, N)
10
Método de Newton-Raphson
Objetivo: Dada la función f (x) contı́nua en [a, b] tal que f (a) f (b) <
0, calcular una aproximación a la raiz x∗ ∈ (a, b), f (x∗) = 0. Se supone
que f (x) tiene una única raiz en el intervalo [a, b].
f(x )
0
f(x1)
f(x2)
f(x*)=0
x* x 2 x1 x0
12
Método de Newton-Raphson
13
Método de Newton-Raphson
14
Se pueden presentar cuatro casos distintos:
f ∈ C 2[a, b]
6
−1
−2
1 5 9 13 17 21 25 29 33 37 41
f ∈ C 2[a, b]
2
−3
−5
−6
1 5 9 13 17 21 25 29 33 37 41
f ∈ C 2[a, b]
2
−3
−5
−6
1 5 9 13 17 21 25 29 33 37 41
f ∈ C 2[a, b]
6
−1
−2
1 5 9 13 17 21 25 29 33 37 41
15
Método de Newton-Raphson
Tipos de Convergencia:
• Qué significa convergencia cuadrática?.
• Se dice que una sucesión {sn }∞ n=0 converge a s con orden de con-
vergencia R, si existen las constantes positivas A 6= 0 y R > 0,
tales que
|s − sn+1| |En+1|
lim = lim =A
|s − sn |R |En |R
donde En = s − sn . Cuando R = 1 ó R = 2 se dice que la
convergencia es lineal ó cuadrática respectivamente.
16
Método de Newton-Raphson
Ejemplos de No Convergencia:
• El método de Newton puede diverger en diversas situaciones.
• Los problemas de convergencia ocurren cuando se toma un valor
inicial no muy cercano a la raiz, ó cuando la función tiene máximos,
minimos ó puntos de inflexión en un entorno de la raiz.
• EJEMPLO: Supongamos que se quiere calcular la raiz x∗ = 0 de
la ecuación x e−x = 0. Como se muestra en la Figura 13, aplicando
la iteración para el valor inicial x0 = 2, se obtiene una sucesión xk
que se aleja de la raiz y diverge a +∞.
−x
y= x e
17
1.2
y = arctan(x)
x3 x1 x0 x2
−3 −2 −1 0 1 2 3
−1.2
3
y=x−x−3
18
Método de Newton-Raphson
Observaciones:
• El método de Newton es muy rápido y eficiente.
• La covergencia es cuadrática.
• En general, hay garantia de convergencia. Depende de la forma que
adopta la función en las proximidades del punto de iteración.
• La convergencia es monótona cuando: f (x(0))·f 00(x(0)) > 0, y f 0 (x)
y f 00(x)no cambian de signo en el intervalo [x(0), x∗].
• La convergencia es oscilante cuando: f (x(0)) · f 00(x(0)) < 0, y f 0 (x)
y f 00(x)no cambian de signo en el intervalo [x(0), x(1)], x(0) ≤ x∗ ≤
x(1).
19
Método de Newton-Raphson
20
Entonces el cálculo de la raiz múltiple x∗ de f (x) se resuelve apli-
cando la iteración de Newton a la función auxiliar h(x).
21
Ejemplo: Aplicar el método de Newton para calcular las raices
reales del polinomio p(x) = x6 + 6 x − 6.
70
60
50
40
30
20
10
−10
−20
−2.0 −1.6 −1.2 −0.8 −0.4 0 0.4 0.8 1.2 1.6 2.0
Vease la figura. En cada uno de los intervalos [−2.0, −1.2] y [0.0, 2.0]
hay una única raiz. Se cumplen las hipótesis de la convergencia del
método de Newton en cada uno de los intervalos.
22
Aplicando en este caso particular la iteración de Newton:
f (xi)
xi+1 = xi −
f 0(xi)
se obtiene la siguiente fórmula iterativa:
x6i + 6 xi + 6 5 x6i − 6
xi+1 = xi − =
6 x5i + 6 6 x5i + 6
-->x=-2.0; z= 9999;
-->while abs(x-z)>0.000001,z=x;
x =(5*x^6+6)/(6*x^5+6); end;x
x =
- 1.5785343
-->x=0.0; z= 9999;
-->while abs(x-z)>0.000001,z=x;
x =(5*x^6+6)/(6*x^5+6); end;x
x =
0.9071313
23
En scilab las raices de un polinomio pueden calcularse mediante la
primitiva roots(). Comprobemos los resultados anteriores:
-->p=poly([-6 6 0 0 0 0 1], ’x’, ’c’)
p =
6
- 6 + 6x + x
-->roots(p)
ans =
! 0.9071313 !
! - 1.5785343 !
! - 0.6002956 + 1.4063424i !
! - 0.6002956 - 1.4063424i !
! 0.9359971 + 0.9570661i !
! 0.9359971 - 0.9570661i !
Comprobemos la convergencia cuadrática del método de Newton.
-->x=0; for i=1:10, x =(5*x^6+6)/(6*x^5+6), end;x
x =
1.
x =
0.9166667
x =
0.9072274
x =
0.9071313
El valor de x2 tiene 2 digitos correctos, x3 tiene 4 digitos correctos, x4
tiene 8 digitos correctos.
24
Ejemplo: Aplicar el método de Newton para calcular el inverso de
un número no nulo. Calcular el inverso de los números: 8, -0.5 y 1000.
26
Ejemplo: Aplicar el método de Newton para calcular la raiz quinta
de un número positivo. Calcular la raiz quinta de los números: 32 y
105.
27
Método de la Secante
f(x )
x (0) x (2) x (3) x* x (4)
x (1)
28
Descripción del Método:
• El método de la secante se inicia con dos puntos x(0) y x(1) para
comenzar la primera iteración.
• La formula iterativa se obtiene tomando la abcisa del punto de
intersección con el eje x de la lı́nea que pasa por los puntos,
(x(k−1), f (x(k−1))), (x(k), f (x(k)))
la ecuación de la lı́nea es,
(k) (k) f (x(k)) − f (x(k−1))
(k)
y (x) = f (x ) + (x − x )
x(k) − x(k−1)
la condición y (k)(x(k+1)) = 0 implica,
Observaciones:
• El método de la secante y el de Newton convergen bajo las mismas
condiciones.
• El método de la secante evita conocer explicitamente la derivada
de la función.
• De todas las variaciones del método de Newton, el método de la
secante es el que converge más rápido.
29
Método de Newton-Raphson
30
Método de Newton-Raphson
31
Método de Newton-Raphson
∂x ∂x
1 3x2 + 2x2 − 14
1 2
32
En el siguiente fichero se ha cargado un programa que calcula la it-
eración de Newton para el problema anterior.
x=[6, 5];
deff(’[y]=f(x)’,’y=[ x(1)-x(2)^3+5*x(2)^2-2*x(2)-13,
x(1)+x(2)^3+x(2)^2-14*x(2)-29]’);
for i=1:4,
J(1,1)=1; J(1,2)=-3*x(2)^2+10*x(2)-2;
J(2,1)=1; J(2,2)=3*x(2)^2+2*x(2)-14;
x = x - f(x) * inv(J)’
end; x
A continuación se muestra la rápida convergencia del método de New-
ton hacia la solución:
-->exec(’sisnewton’)
x =
! 2.6122449 4.244898 !
x =
! 4.8262832 4.0202435 !
x =
! 4.9987174 4.0001558 !
x =
! 4.9999999 4. !
x =
! 4.9999999 4. !
33