Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Introducción
Cuando se enseña un curso introductorio de análisis numérico como una asignatura, usual- mente los
métodos iterativos para resolver ecuaciones no lineales (tales como el método de Newton y el método de la
secante), se presentan de manera aislada mientras que, en la práctica computacional, estos métodos nunca se
usan de forma aislada (conocidas sus debilidades), sino acompañados de otros métodos que les agregan
robuste, como el método de bisecci!n" #os paquetes más conocidos implementan, para resolver ecuaciones
no lineales generales, un $%brido conocido como el método de &e''er-rent que usa secante, interpolaci!n
cuadrática inversa y bisecci!n" n este traba*o se presentará $%bridos más elementales pero robustos+
Newton-isecci!n
Newton-isecci!n y ecante-isecci!n
ecante-isecci!n y su re
respectiva
spectiva implementaci!n
implementaci!n (elem
(elemental)
ental) en
.
. para /cel"
1.1. N!ton"#i$cción.
x*
a b
b-a
§ 2
Actualización del interv alo.
f(a)*f(m0) > 0, entonces
= b
a2m2 b2
x*
a3 m 3 b 3
i el método de Newton falla (en alg2n sentido) en una iteraci!n, podemos usar bisecci!n para dar
un pequeño salto y regresar al método de Newton lo más pronto posible"
′
que f (a) f (b) < 3. ea
upongamos que f x3 = a o x3 = b. n cada iteraci!n una nueva apro/- imaci!n x
ea x imaci!n x es
calculada y a y b son actualiados como sigue
′ f ( x3)
4" si x = x3 −
f ′( xx3) cae en [a, b] lo aceptamos, sino usamos bisecci!n, es decir
a+b
x′ = 0 .
′ ′ ′ ′ ′ ′ ′ ′
que f (a ) f (b ) ≤ 3.
0" .ctualiar+ a = x , b = b o a = a, b = x , de tal manera que f
′
f ( x3)
que x = x3 −
5ara garantiar que x ∈ [a, b], no debemos usar directamente este cálculo
f ′( xx3)
por f ′( xx3) (que podr%a causar problemas de 6overflow7 o divisi!n
para evitar la divisi!n por f
por cero)" 1e*or
1e*or usamos un par de desigualdades equivalentes" equivalentes"
entonces
′ ′ ′
• i f ( xn) > 3, (an − xn) f ( xxn) < − f ( xxn) y (bn − xn) f ( xxn) > − f ( xxn)"
′ ′ ′
• i f ( x
x) < 3, (an − xn) f ( xxn) > − f ( xxn) y (bn − xn) f ( xn) < − f ( xxn)
T&)*& 1.+ 1étodo de Newton e $%brido Newton-bisecci!n aplicado a 3.0 sen(4= x) − x + 4.>? = 3 en
[4, 0].
′ ′ ′
( test0 G ( f ( x
x3) < 3 ∧ (a − x3) f ( xx3) > −4 f ( xx3) ∧ (b − x3) f ( xx3) < −4 f ( xx3))F
· · ·
+1 k = k + 4F
++ unti* dx < delta Or k > maxItr F
+' rturn x4
5ara $acer una $o*a /cel, usamos como referencia la figura (4"?)"
bos se insertan
insertan abriendo el edit
editor
or de
.,
., seleccionando 6Ao*a 47 y con eell bot!n derec$o
del mouse se importa cada uno de ellos, por separado"
Aay que observar que bisecci!n usa un n2mero de iteraciones conocido para alcanar la
tolerancia que se pide" l método de Newton puede ser muy lento en el caso de ra%ces
m2ltiples" s deseable establecer un n2mero má/imo de iteraciones y refinar el algoritmo
de tal manera que después de este má/imo se pase directamente a bisecci!n"
8ption /plicit
5rivate ub Commandutton4KClic'()
&im f/, fp/, a, b, delta, ma/@tr, fi, co
f/ G Cells(<, 0)
fp/ G Cells(D, 0)
a G Cells(, 4)
b G Cells(, 0)
delta G Cells(, <)
ma/@tr G Cells(, D)
Call $ibridoN(f/, fp/, a, b, delta, ma/@tr, , ?)
nd ub
o'f/ G f"tore/pre
f"tore/pression(f/)
ssion(f/)
o'fp/ G fp"tore/pression(fp/)
@f No
Nott o'
o'f/
f/ L$e
L$en
n
1sgo/ (Mrror en f+ M f"rror&escription)
/it ub
nd @f
'G3
/3 G a
&o
f/3 G f"val4(/3)
fp/3 G fp"val4(/3)
test4 G (fp/3 P 3 .nd (a - /3) Q fp/3 R -4 Q f/3 .nd (b - /3) Q fp/3 P -4 Q f/3)
test0 G (fp/3 R 3 .nd (a - /3) Q fp/3 P -4 Q f/3 .nd (b - /3) Q fp/3 R -4 Q f/3)
@f test4 8r test0 8r f/3 G 3 L$en
/4 G /3 - f/3 H fp/3
d/ G .bs(/4 - /3)
/3 G /4
@f gn(f"val4(a)) RP gn(f"val4(/4)) L$en
b G /4
lse+ a G /4
nd @f
Cells(fi ', co) G /4
Cells(fi ', co 4) G d/
Cells(fi ', co 0) G MNewtonM
lse
/4 G a 3"? Q (b - a)
d/ G (b - a) H 0
/3 G /4
@f gn(f"val4(a)) RP gn(f"val4(/4)) L$en
b G /4
lse+ a G /4
nd @f
1.+. S
1.+ Sc&
c&n
nt
t"#
"#i$
i$c
cci
ción
ón
∗
cero x de f
9no de los problemas del método de la secante es que aunque un cero x de f esté entre
las apro/imaciones iniciales x
iniciales x3 y x4, no se garantia que el método conver*a (si converge)
y x
∗
a x , además de posibles 6ca%das7"
n xn rro
r rorr
estimado 0 3"?33<33>0D
3"EEE=EE0>4=
< 3"?33=34<==< 3"333<33=<>E
D 0?>=E"D=3E> 0?>="E=3<>
? 3"?33=34
34<
<==<3D
3D4
44< 0?>="
="E=3<>
= 3"?33=34<==<3D44< 3
5ara describir el procedimiento usamos int {b, c} para denotar el más pequeño intervalo
cerrado que contiene a b y c, es decir int {b, c} es [c, b] o [b, c].
l algoritmo es como sigue+ iniciamos con un intervalo [a, b] en el que f (a) y f (b)
tengan signos opuestos" @nicialmente el intervalo de bisecci!n es [c, b] pues iniciamos
con c = a. n el proceso se actualian a, b y c de la siguiente
siguiente manera+
i. i f (a) y f (b) tienen signos opuestos, se aplica una iteraci!n del método de la
secante (la cual actualia a y b )
ii. i f (a) y f (b) tienen signos iguales, se aplicará una iteraci!n del método de la
secante
seca estará en int {c, b}. ino, se aplica bisecci!n
nte solo si se conoce que xn+4 estará
tomando como b el punto medio del intervalo int {c, b}.
n la figura (4") se muestra un caso particular con las primeras dos iteraciones"
c
a x3 c b
b‘ b a
b‘= (c+a)/ 2
1ra Iteración: se
s ecante 2da Iteración: bisección
Fi%ur& 1.3
c
b
n I
t
e
r
a
c
i ó
n Iteración
Iteración
n+1
a
b
a
=
c
Fi%ur& 1.4
xn
= x − f ( x
x) ·
( xxn − xn−4) ∈ [ p
p, q]
+4 n n
f ( xxn) − f ( xxn−4)
( xn − xn−4)
si y s!lo si
p ≤ xn − f ( x
xn) · ≤q
f ( xxn) − f ( xxn−4)
xn) f
f ii.) si ff < 3 entonces ( p − xn) ff > − f ( x
xn)( xxn − xn−4) > (q
− xn) f
f
1..1
1..1 Algori
Algoritmo
tmo Im!l
Im!lm"
m"t#$
t#$i%"
i%" " &'A
&'A E($l
E($l..
prueba xn+4 ∈ int {c, b}, es decir, determina si la
n este algoritmo,Lestecante $ace la prueba x
siguiente iteraci!n de secante estará en le intervalo int {c, b}.
SecanteItr (a, b) aplica una iteraci!n del método de la secante con x3 = a y x4 = b y
se procede a la actuali
actualiaci!n de a y b, es decir a = x4 y b = x0. i los argumentos se
aci!n
reciben por referencia entonces son modificados en la subrutina" n c!digo . /cel
ser%a
'
(
r-&t
i/ f (a) f (b) < 3 t0n
.plicar SecanteItr (a, b)
*$
2 i/ Lestecante =true t0n
3 .plicar SecanteItr (a, b)
4 *$
15 .plicar bisecci!n b = b − 3.?(c − b) F
11 @ntervalo para bisecci!nF
1+ i/ f (a) f (b) < 3 t0n
1' c=a
1( n=n+4
1 unti* ( |c − b| < (|b| + 4) ) 8r ( n > maxItr 8r f
8r f (b) < )) F
1 rturn b F
5ara $acer una $o*a /cel, usamos como referencia la figura (4"43)"
secante@tr(a,b,f)
secante@tr(a,b,f) y /0estantre(c,b,a,f)"
/0estantre(c,b,a,f)"
funci!n f . secante@tr(a,b,f)
.mbas son llamadas desde Aecanteiseccion y usan la funci!n f
$ace una iteraci!n del método de la secante y actualia a y b " #a funci!n
/0estantre(c,b,a,f) devuelve TtrueO o TfalseO dependiendo de si la siguiente iteraci!n (en la
x3 = a y x4 = b ) estará entre c y b.
que x
que
8ption /plicit
5rivate ub Commandutton4KClic'()
&im f/, a, b, delta, ma/@tr
f/ G Cells(D, 0)
a G Cells(, 4)
b G Cells(
CG
delta ells(,
, 0) <)
Cells(,
ma/@tr G Cells(, D)
Call Aecanteiseccion(f/, a, b, delta, ma/@tr, , ?)
nd ub
o'f G f"tore/pression(f/)
@f Not o'f L
L$en
$en
1sgo/ (Merror en f+ M f"rror&escription)
/it ub
nd @f
a G aa
b G bb
cGa
fa G f"
f"va
val4(
l4(a)
a)
fb G f"
f"va
val4(
l4(b)
b)
nG3
&o
@f gn(fa) RP gn(fb) L$en
Cells(fi n, co) G b
Cells(fi n, co 4) G c
Call secante@tr(a, b, f) O.ctualia a y b
Cells(fi n, co 0) G Mecante4M
Cells(fi n, co <) G .bs(b - c)
lse
@f /0estantre(b, c, a, f) L$en
Cells(fi n, co) G b
Cells(fi n, co 4 Gc
) f) O1odifica a y
Call b b
secante@tr(a, ,
Cells(fi n, co 0 G Mecante0M
)
Cells(fi n, co < G .bs(b - c)
)
lse
Obiseccin
Cells(fi n, co) G b
Cells(fi n, co 4 Gc
)
b G b 3"? Q (c - b
)
Cells(fi n, co 0 G
) MiseccinM
Cells(fi n, co < G .bs(b -
) c)
nd @f
nd @f
fa G f"val4(a)
fb G f"val4(b)
Cells(fi n, co D) G fb
@f gn(fa) G gn(fb) L$en
Onada
lse+ c G a
nd @f
nGn4
#oop 9ntil .bs(c - b) R delta 8r n PG ma/@tr 8r .bs(fb) R delta
nd ub
Junction /0estantre(b, c, a, f)
&im test4 .s oolean
&im test0 .s oolean
&im q, /3, /4, p, pf, &f, /0, f/4, f/3
q G .pplicati
.pplication"1a/(b,
on"1a/(b, c)
p G .pplication"1in(b , c)
/3 G a
/4 G b
f/4 G f"val4(/4)
f/3 G f"val4(/3)
&f G f/4 - f/3
pf G -4 Q f/4 Q (/4 - /3)
(/4
test4 G (&f P 3 .nd (p - /4) Q &f R pf .nd pf R (q - /4) Q &f)
test0 G (&f R 3 .nd (p - /4) Q &f P pf .nd pf P (q - /4) Q &f)
n b c 1étod
o
4 04"D<>333 04"<D ecant
D e4
0 04"?D=3=> 00"D? ecant
4> e4
< 04"EE3<< 00"D? isecc
?E i!n
D 00"33>34 00"D? ecant
>? e0
? 04"EEEE>4 04"EE3<< ecant
4E ?E e4
= 04"EEEEEE 00"33>34 ecant
? >? e4
> 00 00"33>34 ecant
>? e0
T&)*& 1.
EJEMPLO 1. n la tabla (4"=) se muestra los valores de b y c al aplicar el método $%brido
∗
secante-bisecci!n,
secante-bisecci! con x3 = 3.? y
n, con x x4 = 0, para apro/imar el cero
y x x = 4 de f ( xx) = x03 −
cero x
4. Uecordemos es desempeño desastroso del método de la secante, que se mostr! en la
tabla
(4"D), para este mismo problema"
1.'. #RENT
En análisis numérico, el Método de Brent es un algoritmo de búsqueda de raíz combinando
combinando::
Método Hibrido
&iene la 'abilidad de la bisección, #ero #uede ser tan rá#ido como algunos de los métodos menos
'ables (los métodos abiertos)
El algoritmo a#lica los métodos de la "nter#olación "n%ersa cuadrá$ca o ecante, si es #osible, #ero
%ol%iendo al con'able método de agru#amiento en regiones
Sabemos que:
• MÉTODO DE LA
LA BISECCIÓN
f(xl) f(xu) <
Fi%.1" a) 1étodo de la
la ecante y b)@nterpolaci!n inversa cuadrática"
cuadrática" e observa que la parabola oscura
oscura que pasa
por los tres puntos en b) se llama 6inversa7 por que
que se escribe en y en ve de /, /Gf(y)"
i se tienen tres puntos, en este caso, se puede determinar una funci!n cuadrática de V que pase por los tres puntos"
#a intersecci!n de esta parábola con el e*e / representar%a el nuevo estimado de la ra%"
9sar una curva en ve de una l%nea recta a menudo produce un me*or estimado"
Fi%. +. &os parábolas que pasen por tres puntos, yGf(/), tiene ra%ces comple*as y no interseca al e*e /" n contraste,
si las variables se invierten se desarrolla /Gf(y), la funci!n si Cuando una parábola
parábola interseca con el e*e /, la
parábola tiene ra%ces comple*as"
comple*as" s donde el método presenta fallas, se puede recti ficar usando la intr-o*&ción
rectificar
cu&dr6tic& in7r$&. sto equivale a invertir los e*es y crear una parábola 6ladeada7
5U8#1.
1
r
#i)*io%r&/8
&
:4; 1at
1at$ew
$ews,
s, WF J
Jin'
in',, X" $todos
$todos ,umricos
,umricos con $*&*
$*&*
" 5rentice Aall, <a" ed", 0333"
:0; &emi
&emidovic$
dovic$,, "
"FF 1a
1aron,
ron, @" +9lculo ,umrico =undamental " 0da ed" 5araninfo (1adrid),
4E?"
:<; C$apr
C$apra,
a, 1ét
1étodos
odos Numé
Numéricos
ricos pa
para
ra @ngeni
@ngenieros
eros