METODOS NUMERICOS
Ingeniera Civil
ING.CRISTIANCASTROP.
Facultad de Ingeniera de Minas, Geologa y Civil
Departamento acadmico de ingeniera de minas y civil
CATEDRA 05
Capitulo V
Ecuaciones Algebraicas No Lineales:
Temas Especiales
ING.CRISTIANCASTROP.
Mtodos Numricos Aplicados a la Ingeniera
Bsqueda de Varias Races de Ecuaciones
No Lineales
BSQUEDA DE VARIAS RACES
ECUACIONES CON VARIAS RACES
Las ecuaciones tienen una o varias races y esmenester localizar cada una de ellas.
La posible existencia de races mltiples complicael problema. En la vecindad de la raz, tanto la funcin como su
derivada se acercan a cero. Las ecuaciones con un nmero par de races mltiples
son tangentes al eje x y no lo cruzan. Las ecuaciones con un nmero impar de races mltiples
cruzan al eje x en un punto de inflexin. En caso de races mltiples, al no haber cambio de signo,
los mtodos cerrados no son confiables.
MTODO DE BSQUEDA INCREMENTAL La bsqueda consiste en empezar en un extremo del intervalo de
inters y evaluar la funcin con pequeos incrementos a lo largo delintervalo.
Si la longitud del incremento no es lo suficientemente pequea,algunas races pueden pasar inadvertidas.
f(x)
xx0 x1 x2 x3 x4 x5 x6 x7 x8 x9
x x x x x x x x x
2 races 3 races 2 races
MTODO DE BSQUEDA INCREMENTAL El mtodo de bsqueda incremental se utiliza para identificar todas las
races de una ecuacin, considerando: La manera como se presenta fsicamente el fenmeno. El nmero de races reales y/o complejas que se espera tenga la ecuacin,
especialmente cuando se trata de polinomios.
Es conveniente utilizar tamaos de incremento acordes con el fenmenoanalizado y el nmero esperado de races.
Ante la sospecha de que la ecuacin algebraica o trascendente tengams races de las encontradas con cierto tamao de incremento, serecomienda: Obtener las tangentes en los extremos de cada incremento para identificar
cambios de signo y, en su caso, analizar el subintervalo de incremento msminuciosamente.
Reducir a la mitad el tamao de los incrementos.
Se ha de tener especial cuidado al hacer el bosquejo de una grfica,cuando no se dispone de dispositivos que grafiquen de manera confiableporque el trazado a base de incrementos, puede ser sumamenteengaoso.
MTODO DE BSQUEDA INCREMENTAL
-2.5
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
3.00 3.50 4.00 4.50 5.00
Trazado con incrementos de 0.50, parece que hay solo 2 races
f(x) 10senX 3cos X
MTODO DE BSQUEDA INCREMENTAL
Trazado con incrementos de 0.50, parece que hay solo 2 racesNecesario revisar en 2 subintervalo de incremento ms
f(x) 10senX 3cos X
x f(x) f'(x) races revisar
3.00 -1.899161886 0.306159043
3.50 -0.903719597 -6.397834771 1
4.00 1.588967119 -5.059661863 1
4.50 1.445824188 2.841866609 1
5.00 -1.022062767 7.698796764 1
MTODO DE BSQUEDA INCREMENTAL
-2.5
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
3.00 3.20 3.40 3.60 3.80 4.00 4.20 4.40 4.60 4.80 5.00
Trazado con incrementos de 0.20, parece que hay solo 2 races
f(x) 10senX 3cos X
MTODO DE BSQUEDA INCREMENTAL
Trazado con incrementos de 0.20, parece que hay solo 2 racesNecesario revisar en 6 subintervalos de incremento ms
f(x) 10senX 3cos X x f(x) f'(x) races revisar
3.00 -1.899161886 0.306159043
3.20 -0.433261175 8.865213949
3.40 -0.185182966 -6.386078685 1
3.60 -1.18610876 1.663171794 1
3.80 0.689859445 12.30872202 1
4.00 1.588967119 -5.059661863 1
4.20 0.082913038 -4.100722292
4.40 0.823585883 8.222212542 1
4.60 1.232603226 -7.152866457 1
4.80 -1.028072018 -9.298416724 1
5.00 -1.022062767 7.698796764 1
MTODO DE BSQUEDA INCREMENTAL
-2.5
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
3.00 3.10 3.20 3.30 3.40 3.50 3.60 3.70 3.80 3.90 4.00 4.10 4.20 4.30 4.40 4.50 4.60 4.70 4.80 4.90 5.00
Trazado con incrementos de 0.10, parece que hay solo 4 races
f(x) 10senX 3cos X
MTODO DE BSQUEDA INCREMENTAL
Trazado con incrementos de 0.10, parece que hay solo 4 racesNecesario revisar en 6 subintervalos de incremento ms
f(x) 10senX 3cos X x f(x) f'(x) races revisar x f(x) f'(x) races revisar
3.00 -1.899161886 0.306159043 4.00 1.588967119 -5.059661863
3.10 -1.396262971 8.774060308 4.10 0.806109949 -9.083697401
3.20 -0.433261175 8.865213949 4.20 0.082913038 -4.100722292
3.30 0.110720707 1.239840209 1 4.30 0.113085296 4.568709698 1
3.40 -0.185182966 -6.386078685 1 1 4.40 0.823585883 8.222212542
3.50 -0.903719597 -6.397834771 4.50 1.445824188 2.841866609
3.60 -1.18610876 1.663171794 1 4.60 1.232603226 -7.152866457 1
3.70 -0.539302106 10.63779828 4.70 0.160731508 -12.92128286
3.80 0.689859445 12.30872202 1 4.80 -1.028072018 -9.298416724 1
3.90 1.611391725 4.952380075 4.90 -1.487337039 0.468684944 1
4.00 1.588967119 -5.059661863 1 5.00 -1.022062767 7.698796764
MTODO DE BSQUEDA INCREMENTAL
-2.5
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
3.00 3.10 3.20 3.30 3.40 3.50 3.60 3.70 3.80 3.90 4.00 4.10 4.20 4.30 4.40 4.50 4.60 4.70 4.80 4.90 5.00
Trazado con incrementos de 0.05, se ve que hay 6 races
f(x) 10senX 3cos X
MTODO DE BSQUEDA INCREMENTAL
-0.02
0
0.02
0.04
0.06
0.08
0.1
0.12
4.20 4.21 4.22 4.23 4.24 4.25 4.26 4.27 4.28 4.29 4.30
f(x) 10senX 3cos X detalle
MTODO DE NEWTON RAPHSON MODIFICADO
1. Consiste en elegir un punto inicial cualquiera x1 como
aproximacin de la raz.
2. Obtener los valores de la funcin, de su primera y de su
segunda derivada en ese punto.
3. Establecer la funcin (x) = f(x)/f(x) y obtener el valor de lamisma en el punto inicial.
4. Trazar una recta tangente a la funcin (x) por ese punto.5. El punto de interseccin de esta recta con el eje de las
abscisas (x2, 0), constituye una segunda aproximacin de
la raz.
6. El proceso se repite n veces hasta que el punto de intersec-
cin xn coincide prcticamente con el valor exacto de la raz
MTODO DE NEWTON RAPHSON MODIFICADOf(x)
x
MTODO DE NEWTON RAPHSON MODIFICADOf(x)
xx1
MTODO DE NEWTON RAPHSON MODIFICADO
f(x1)
x
f(x)
f (x) f (x)
f(x1)
x1
f(x1)
MTODO DE NEWTON RAPHSON MODIFICADO(x)
x
f(x)(x)f '(x)
x1
(x1)
MTODO DE NEWTON RAPHSON MODIFICADO(x)
xx1
MTODO DE NEWTON RAPHSON MODIFICADO
Para deducir la frmula de recurrencia:
2
2 2
ii 1 i
i2
i ii 1 i 2
i i i i
i ii 1 i 2
i i i
f(x)(x)f '(x)f '(x)f '(x) f(x)f "(x) [f '(x)] f(x)f "(x)'(x)
[f '(x)] [f '(x)](x )x x'(x )
f(x )[f '(x )]x xf '(x ) [f '(x )] f(x )f "(x )
f(x )f '(x )x x[f '(x )] f(x )f "(x )
MTODO DE NEWTON RAPHSON MODIFICADO(x)
xx2x1
i ii 1 i 2
i i i
f(x )f '(x )x x[f '(x )] f(x )f "(x )
(x2)
ii 1 i
i
(x )x x'(x )
MTODO DE NEWTON RAPHSON MODIFICADOf(x)
xx2x1
MTODO DE NEWTON RAPHSON
-3
-2
-1
0
1
2
3
4
5
6
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 2.2 2.4 2.6 2.8 3 3.2 3.4
f(X) = x4 - 6x3 + 12x2 - 10x + 3
triple raz
MTODO DE NEWTON RAPHSON MODIFICADO
iteracin Xi f(Xi) f'(Xi) f"(Xi) Xi '(Xi) e(%) e*(%)
1 0 3 -10 24 -0.3 0.28 100.00
2 1.07142857 -0.00070283 -0.02915452 -0.79591837 0.02410714 0.341875 7.14 100.00
3 1.00091408 -1.5268E-09 -5.0102E-06 -0.01095889 0.00030474 0.33343478 0.09 7.05
4 1.00000014 0 -1.1191E-13 -1.6623E-06 0 1 0.00 0.09
5 1.00000014 0 -1.1191E-13 -1.6623E-06 0 1 0.00 0.00
f(x) = x4 - 6x3 + 12x2 - 10x + 3
FuncinRecurrencia x1 = 1, x2 = 1, x3 = 1
MTODO DE NEWTON RAPHSON TRADICIONAL
f(x) = x4 - 6x3 + 12x2 - 10x + 3iteracin Xi f(Xi) f'(Xi) e(%) e*(%)
1 0 3 -10 100.00
2 0.3 0.9261 -4.312 70.00 100.00
3 0.51477273 0.28392375 -1.86965136 48.52 41.72
4 0.66663192 0.08644807 -0.81500014 33.34 22.78
5 0.77270315 0.02615522 -0.35695527 22.73 13.73
6 0.84597625 0.0078707 -0.15695571 15.40 8.66
7 0.89612227 0.00235824 -0.06922711 10.39 5.60
8 0.93018753 0.00070426 -0.03060369 6.98 3.66
9 0.95319963 0.00020981 -0.01355167 4.68 2.41
10 0.96868175 6.2398E-05 -0.00600787 3.13 1.60
11 0.97906779 1.8535E-05 -0.00266563 2.09 1.06
12 0.98602119 5.5013E-06 -0.00118337 1.40 0.71
13 0.99067004 1.6319E-06 -0.00052554 0.93 0.47
14 0.99377522 4.839E-07 -0.00023345 0.62 0.31
15 0.995848 1.4345E-07 -0.00010372 0.42 0.21
16 0.99723105 4.2519E-08 -4.6088E-05 0.28 0.14
17 0.99815361 1.2601E-08 -2.048E-05 0.18 0.09
18 0.99876888 3.7342E-09 -9.1014E-06 0.12 0.06
19 0.99917917 1.1065E-09 -4.0448E-06 0.08 0.04
20 0.99945274 3.2789E-10 -1.7976E-06 0.05 0.03
21 0.99963515 9.7155E-11 -7.9891E-07 0.04 0.02
22 0.99975675 2.8788E-11 -3.5507E-07 0.02 0.01
x1 = 1x2 = 1x3 = 1
MTODO DE NEWTON RAPHSON TRADICIONAL
f(x) = x4 - 6x3 + 12x2 - 10x + 3
iteracin Xi f(Xi) f'(Xi) e(%) e*(%)
1 3.4 5.5296 20.736 240.00
2 3.13333333 1.29453827 11.5294815 213.33 8.51
3 3.02105263 0.17379579 8.51327832 202.11 3.72
4 3.00063796 0.00510855 8.01531833 200.06 0.68
5 3.00000061 4.8777E-06 8.00001463 200.00 0.02
6 3 4.4444E-12 8 200.00 0.00
X4 = 3FuncinRecurrencia
MTODO DE NEWTON RAPHSON MODIFICADO
f(x) = x4 - 6x3 + 12x2 - 10x + 3
FuncinRecurrencia x4 = 3
iteracin Xi f(Xi) f'(Xi) f"(Xi) Xi '(Xi) e(%) e*(%)
1 3.4 5.5296 20.736 40.32 0.26666667 0.48148148 240.00
2 2.84615385 -0.96803333 4.71916249 18.7455621 -0.20512821 1.81481481 184.62 19.46
3 2.95918367 -0.30694416 7.05012367 22.5506039 -0.04353741 1.13925926 195.92 3.82
4 2.99739922 -0.02072518 7.93770296 23.9064531 -0.00261098 1.00786364 199.74 1.27
5 2.99998983 -8.1379E-05 7.99975586 23.9996338 -1.0173E-05 1.00003052 200.00 0.09
6 3 -1.2418E-09 8 24 -1.5522E-10 1 200.00 0.00
MTODO DE NEWTON RAPHSON
El mtodo de Newton Raphson tradicional, en la bsqueda de races
mltiples, converge linealmente, en vez de hacerlo cuadrticamente,
como sucede en la bsqueda de una raz simple.
El mtodo de Newton Raphson modificado, en la bsqueda de races
mltiples, converge cudrticamente, al igual que en la bsqueda de
una raz simple.
La lentitud en la convergencia del mtodo de Newton Raphson
tradicional es un claro indicativo de la presencia de races mltiples.
A mayor nmero de races mltiples, menor es la velocidad de
convergencia del mtodo tradicional.
MTODO DE NEWTON RAPHSON El mtodo de Newton Raphson es aplicable al caso
de funciones con races complejas, a condicin deque el punto inicial considerado como primeraaproximacin sea complejo.
Haciendo clculos manuales, se ha de tener cuidadode cumplir con este requisito.
Si los clculos se hacen a travs de computadora, ellenguaje de programacin ha de ser capaz desoportar el manejo de valores complejos, previadeclaracin de dimensionamiento.
En Fortran, VB, C, PASCAL, MATLAB tal manejoest garantizado.
Mtodos Numricos Aplicados a la Ingeniera
Races de Polinomios de Ecuaciones No Lineales
Definicin
Un polinomio de grado n es una expresin de la forma:
P(x) = anxn + an-1xn-1 + ... +a1x + a0Donde an 0
Teorema (teorema fundamental del lgebra): Si P(x) es un polinomio de grado n >= 1, entonces P(x) = 0 tiene al menos una raz (posiblemente compleja).
Corolario
Si P(x) es un polinomio de grado n >= 1, entonces existen constantes nicas x1, x2, ... xk, posiblemente complejas, y enteros positivos m1, m2, ..., mk, tales que:
k
ii nm
1
kmkmmn xxxxxxaxP ...)( 21 21y
Mtodo de HornerSea
P(x) = anxn + an-1xn-1 + ... +a1x + a0Si bn = an y
bk = ak + bk+1x0 para k = n 1, n 2, ..., 1, 0
Por tanto b0 = P(x0). Ms an, si
Q(x) = bnxn1 + bn-1xn-2 + ... +b2x + b1Entonces
P(x) = (x x0) Q(x) + b0
Ejercicios
Evaluar:
P(x) = 2x4 3x2 + 3x 4 en x0 = 2
P(x) = 7x5 + 6x4 6x3 + 3x 4 en x0 = 3
P(x) = 5x6 + 3x4 + 2x2 4x en x0 = 1
Evaluacin de la derivada
Dado que:
P(x) = (x x0) Q(x) + b0donde
Q(x) = bnxn1 + bn-1xn-2 + ... +b2x + b1Derivando
P(x) = Q(x)+(x x0)Q(x)
En x = x0,
P(x0) = Q(x0)
Evaluacin de la derivada en C
void hornerDer(double p[],int n, double x,double &y,double &z){y = p[0];z = p[0];int i;for(i = 1; i
Mtodo horner
Entrada: grado n, a0, a1, ..., an, x0Salida: y =P(x0), z = P(x0)1. y = an //calcule bn para P2. z = an //calcule bn-1 para Q3. Para j = n 1, n 2, .... , 14. y = x0*y + aj 5. z = x0*z + y6. y = x0*y + a07. regresar y, z
Mtodo de Horner en Matlabfunction [y,z]=Horner(x,x0)%x es un vector con los coeficientes%de P(x)%regresa en y el polinomio y en z%la derivada evaluados en x0[muda n] = size(x);y = x(1); %calcule bn para P. z = x(1); %calcule bn-1 para Qfor j = 2:n-1,
y = x0*y + x(j); z = x0*z + y;
endy = x0*y + x(n);
Mtodo de Newton para polinomios
Se puede aplicar el mtodo de Newton para polinomios evaluando el polinomio y su derivada mediante el mtodo de Horner.
El esquema sera
n
nn
n
nnn xQ
xPxxPxPxx '1
Mtodo de Mller
Se aproxima el siguiente valor utilizando una parbola en lugar de una recta como en el mtodo de la secante.
x1
raz
Lnea recta
Raz estimada
x0
f(x)f(x)
xx
x0x1x2
parbola
Raz estimada
Mtodo de Mller
Utiliza tres aproximaciones: x0, x1, x2.
Determina la siguiente aproximacin x3 encontrando la interseccin con el eje x de la parbola definida por los puntos (x0,f(x0)), (x1,f(x1)), (x2,f(x2)).
x0 x1 x2 x3
f
Mtodo de Mller
Se considera el polinomio
P(x) = a(x x2)2 + b(x x2) + c
Se puede encontrar a, b y c resolviendo
f(x0) = a(x0 x2)2 + b(x0 x2) + c
f(x1) = a(x1 x2)2 + b(x1 x2) + c
f(x2) = a(x2 x2)2 + b(x2 x2) + c
Mtodo de Mller
Se llega a
)( 2xfc
10212020
22121
220 )()()()(
xxxxxxxfxfxxxfxfxxb
102120
21202021 )()()()(xxxxxx
xfxfxxxfxfxxa
Mtodo de MllerLos clculos pueden simplificarse usando
211
01
01
1
121
0
010
121
010
xfcdahb
hhdda
hxfxfd
hxfxfd
xxhxxh
Mtodo de Mller
Para minimizar el error al resolver la cuadrtica P(x) = 0, se calcula x3 con
acbbsignobcxx
4)(2
223
El proceso se reinicia tomando ahora x1, x2, y x3.
Mller en MatLabfunction y = muller(p,x0,x1,x2,ee,ni)
i = 3;while i
Ejemplo
P(x) = 16x4 40x3 + 5x2 + 20x + 6
x0 = 0.5 x1 = -0.5 x2 = 0.0i xi P(xi)3 -0.555556 + ( -0.598352)i -29.400701 + ( 3.898725)i4 -0.435450 + ( -0.102101)i 1.332225 + ( 1.193097)i5 -0.390631 + ( -0.141852)i 0.375058 + ( 0.670168)i6 -0.357698 + ( -0.169926)i -0.146750 + ( 0.007446)i7 -0.356051 + ( -0.162856)i -0.001840 + ( -0.000538)i8 -0.356062 + ( -0.162758)i 0.000002 + ( -0.000001)i
Ejemplox0 = 2.5 x1 = 2.0 x2 = 2.3i xi P(xi)3 1.960592 + ( 0.000000)i -0.611310 + ( 0.000000)i4 1.970564 + ( 0.000000)i 0.007455 + ( 0.000000)i5 1.970447 + ( 0.000000)i 0.000029 + ( 0.000000)i
x0 = 0.5 x1 = 1.0 x2 = 1.5i xi P(xi)3 1.287855 + ( 0.000000)i -1.376275 + ( 0.000000)i4 1.237459 + ( 0.000000)i 0.126945 + ( 0.000000)i5 1.241605 + ( 0.000000)i 0.002193 + ( 0.000000)i6 1.241677 + ( 0.000000)i -0.000001 + ( 0.000000)i
Actividad
Encontrar las races reales y complejas del siguiente polinomio por el mtodo de Mller en MatLab.
P(x) = x4 2x3 + 6x2 8x + 8
Races de no lineales en Matlabfzero(FUN, x0) encuentra la raz de FUN cerca al punto x0. Ejemplos:
FUN puede especificarse usando @:X = fzero(@sin,3)
regresa pi.X = fzero(@sin,3,optimset('disp','iter'))
regresa pi, usa la tolerancia por omisin y despliega informacin de las iteraciones.
FUN puede ser una funcin en lnea:X = fzero(inline('sin(3*x)'),2);
Polinomios con Matlabpolyval(P, x) evalua el polinomio P en el punto x. El polinomio se especifica como un vector donde P(1) es el coeficiente de la potencia ms alta y P(length(P)) es el trmino independiente.
polyder(P) obtiene la derivada delpolinomio P.con(A, B) multiplica el polinomio A por el polinomio B.[Q R] = deconv(A, B) divide los dos polinomios A y B y almacena el cociente en Q y el residuo en R.roots(P) encuentra todas las raices reales y complejas del polinomio P.
Mtodo de Bairstow
El enfoque de Bairstow es el de utilizar el Mtodo de Newton para ajustar los coeficientes r y s en la cuadrtica x2 rx + shasta que sus races sean tambin races del polinomio que se quiere resolver.
Con estos coeficientes se determina la cuadrtica correspondiente que se utiliza para simplificar la expresin, eliminando estas races del conjunto buscado.
El proceso se repite hasta que el polinomio se convierta en uno cuadrtico o lineal, momento en que todas las races quedan determinadas.
La Divisin Larga de un polinomio
n
i
ii xaxP
0
por x2 rx s resulta en un cociente de la forma
2
0
n
i
ii xbxQ
y un residuo b1(x r) + b0 tal que
0122
2 brxbxbsrxxxPn
i
ii
Se utiliza la divisin sinttica para obtener la divisin entre el factor cuadrtico:
bn = anbn1 = an1 + rbnbi = ai + rbi+1 + sbi+2 (i = n 2,, 0)
El mtodo se reduce a determinar los valores de r y s que hacen que el factor cuadrtico sea un divisor exacto.
Se utiliza el mtodo de Newton-Raphson. Se calculan incrementos r y spara acercarse a la solucin.
000
111
bssbr
rb
bssbr
rb
Las derivadas parciales se calculan por un proceso de divisin sinttica similar al utilizado para calcular las bs.
cn = bncn1 = bn1 + rcnci = bi + rci+1 + sci+2 (i = n 2,, 1)
Donde:
sbc
rbc
sbc
rbc
0
20
0
13
12
,
,
Se resuelven las ecuaciones para r y s y se emplean para mejorar r y s.
Ejemplo
Encontrar las races del siguiente polinomio en Excel
P( x) = x5 3.5x4 + 2.75x3 + 2.125x2 3.88x +1.25
Comience en r = -1 y s = -1
Hoja de Excel de Bairstow
Mtodo de Bairstown-> 5 4 3 2 1 0 r s valores calculados x1 x2a-> 1 -3.5 2.75 2.125 -3.875 1.25 -0.5 0.5 -1 -1 #NUM! #NUM!
-0.5 2.5 -4.625 3.875 -1.250000456 Dr Ds -0.6442 0.1381 0.1697 -0.8139b-> 1 -4 5.25 -2.5 5E-07 -4.55699E-07 7E-08 1E-08 -0.5111 0.4697 0.4759 -0.9870
-0.5 2.75 -6.25 8.375 Error r Error s -0.4997 0.5002 0.5002 -0.9999c-> 1 -4.5 8.000001 -8.75 8.375 1E-05 2E-06 -0.5000 0.5000 0.5000 -1.0000
sistema b -0.5 0.5c2,c3 -8.75 8 -4.9E-07 7E-08c1,c2 8.38 -8.75 4.56E-07 1E-08
Haga doble clic sobre la hoja para ver las frmulas. Los valores en amarillo son los valores que se obtuvieron paso a paso. Los valores en naranja son los coeficientes del polinomio de grado n2 que hay que resolver aplicando el mismo mtodo. Note que los coeficientes b0 y b1 son casi cero.
Muchas Gracias
Top Related