Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x)...
Transcript of Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x)...
![Page 1: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/1.jpg)
Unidad 2
Solución de Ecuaciones No Lineales
![Page 2: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/2.jpg)
Raíces de ecuaciones
Técnicas numéricas para encontrar:
• Raíces reales de ecuaciones algebraicas y trascendentes. Determinan sólo una raíz real. Métodos Cerrados y Métodos Abiertos
• Raíces reales y complejas de polinomios. Determinan todas las raíces.
![Page 3: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/3.jpg)
Problema del paracaidista
• Forma explícita: calcular v dadas g, m, c y t
Solución analítica
• Forma implícita: calcular c dadas g, m, v y t
Ecuación no lineal
No tiene solución analítica !!! Se resuelve numéricamente
v (t )=g m
c( 1−e
−cm
t )
f (c )=g m
c( 1−e
−cm
t ) −v=0
![Page 4: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/4.jpg)
Métodos Cerrados
Métodos Cerrados: 1)Bisección 2)Falsa Posición La función cambia de signo en la vecindad de
una raíz. Dos valores iniciales que “encierren” a la raíz.
Reducen el tamaño del intervalo y así convergen a la respuesta aproximada correcta.
![Page 5: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/5.jpg)
Raíz de una EcuaciónDefinición: valor de x tal queEn los métodos cerrados se requieren dos valores iniciales: los extremos
del intervalo xl y x
u (lower: inferior, upper: superior).
Generalmente si: f(x
l) y f(x
u) tienen signos opuestos: número impar de raíces
f(xl) y f(x
u) tienen el mismo signo: cero o un número par de raíces
f (x )=0
![Page 6: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/6.jpg)
Métodos Gráficos
Son útiles para: determinar los valores iniciales. visualizar propiedades de las funciones.
Raíces múltiples Función discontinua
Raíz doble
![Page 7: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/7.jpg)
Método de Bisección
[bisectar = dividir en dos segmentos iguales]
En general, si f(x) es real y continua en el intervalo [xl , x
u] y
f(xl) y f(x
u) tienen signos opuestos,
es decir
f(xl).f(x
u)<0 (1)
entonces hay al menos una raíz entre
xl y x
u.
![Page 8: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/8.jpg)
Algoritmo del Método de Bisección
Paso 1: se elige intervalo [xl , x
u] donde haya cambio de signo de
la función. Verificar con (1)
Paso 2: se aproxima la raíz
como el punto medio del
intervalo
(2)
fórmula de la bisección
x r=x l + x u
2 raíz verdadera
raíz aproximada
f (x )
x
f (x l)
f (xr )
f (xu)
x l xuxr xrv
![Page 9: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/9.jpg)
Algoritmo del Método de Bisección
Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo
a) Si f(xl).f(x
r)<0 ,
la raíz está en el
subintervalo izquierdo
Hacer xu
xr
y volver al Paso 2
Iteración actual
Iteración siguiente
Este subintervalo se descarta
raíz verdadera
raíz aproximada
f (x )
f (x l)
f (xr )
f (xu)
x l xu xxr
xrv
x l xu=xranterior
f (x l)⋅f (x r )<0
![Page 10: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/10.jpg)
Algoritmo del Método de Bisección
b) Si f(xl).f(x
r)>0 ,
la raíz está en el
subintervalo derecho
Hacer xl x
r
y volver al Paso 2
c) Si f(xl).f(x
r)=0 ,
la raíz es xr ,
termina el cálculo
Iteración actual
Iteración siguiente
Este subintervalo se descarta
f (x )
raíz aproximada
raíz verdadera
f (x l)
f (xr )
f (xu)
x l xu xxr xrv
x l=xranterior xu
f (x l)⋅f (x r )>0
![Page 11: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/11.jpg)
Representación Gráfica del Método
![Page 12: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/12.jpg)
![Page 13: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/13.jpg)
![Page 14: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/14.jpg)
Método de Bisección: Ejemplo 5.3
Encontrar la raíz de la función:
Elegimos el intervalo donde hay cambio de signo en la función, por ejemplo [12,16]:
Se cumple que f(xl).f(x
u)<0
f (x )=667.38
x( 1−e−0.146843 x )−40
Iteración xl
xu
f(xl) f(x
u)
0 12 16 6.06 2.26
![Page 15: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/15.jpg)
Método de Bisección: Ejemplo 5.3
![Page 16: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/16.jpg)
Método de Bisección: Ejemplo 5.3
Iteración xl xu f(xl) f(xu) xr f(xr) signo f(xl) f(xr)
1 12 16 6.06 2.26 14 1.56 +
(cambio de signo en este intervalo)
Se hace: xl=xr=14 Nuevo intervalo: [14 , 16]
![Page 17: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/17.jpg)
Método de Bisección: Ejemplo 5.3
Iteración xl xu f(xl) f(xu) xr f(xr) signo f(xl) f(xr)
2 14 16 1.56 2.26 15 0.42
(cambio de signo en este intervalo)
Se hace: xu=xr=15 Nuevo intervalo: [14 , 15]
![Page 18: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/18.jpg)
Método de Bisección: Ejemplo 5.3
Iteración xl xu f(xl) f(xu) xr f(xr) signo f(xl) f(xr)
3 14 15 1.56 0.42 14.5 0.55 +
(cambio de signo en este intervalo)
Se hace: xl=xr=14.5 Nuevo intervalo: [14.5 , 15]
![Page 19: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/19.jpg)
Ejemplo 5.3: Estimación del Error
Iteración xl xu xr a (%) t(%)
1 12 16 14 5.279
2 14 16 15 6.667 1.487
3 14 15 14.5 3.448 1.896
4 14.5 15 14.75 1.695 0.205
5 14.75 15 14.875 0.840 0.641
Valor 'verdadero' hasta 6 cifras: x rverdadero
=14.7802
εa=|x rnuevo
−x ranterior
x rnuevo |⋅100 % εt=|x r
nuevo−x r
verdadero
x rverdadero |⋅100 %
Error relativo aproximado porcentual Error relativo verdadero porcentual
Criterio de finalización de iteraciones: tolerancia
εa <εs
(3) (4)
![Page 20: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/20.jpg)
Método de Bisección: Curvas de Error
E t =|x rnuevo
−x rverd|⩽Δx /2
E a=|xrnuevo
−x rant|=Δx /2
La curva de error verdadero siempre está por debajo de la curva de error aproximado
![Page 21: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/21.jpg)
Método de Bisección: Curvas de Error
y distantes
Iteración actual
x l xuxranteriorxr
v
x l xuxrnuevo
raíz verdadera cerca del centro del intervalo
|xrnuevo
−xrv|
|xrnuevo
−xranterior|
εa εt
y cercanos
Iteración anterior
Iteración actual
x l xuxranteriorxr
v
x l xuxrnuevo
raíz verdadera cerca del extremo del intervalo|xr
nuevo−xr
v|
|xrnuevo
−xranterior|
εa εt
Iteración anterior
εt=|x rnuevo
−xrverd
xrverd | εa=|x r
nuevo−xr
ant
x rnuevo |
![Page 22: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/22.jpg)
Método de Bisección: Error Especificado
n=ln (Δ x 0 /E a ,d )
ln 2
Número de iteraciones para un error absoluto especificado
Sea Ea,d
el error absoluto deseado en el cálculo y x0 el intervalo
inicial de búsqueda. El número de iteraciones n que deben realizarse
para determinar la raíz con ese error especificado es :
(5)
![Page 23: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/23.jpg)
Método de Bisección: Pseudocódigo
iniciar xl, xu // Paso 1 iniciar iter=0, imax, es, xr = xudefinir funcion frepetir: xv = xr // Para calcular ea xr = (xl + xu)/2 // Paso 2 si xr != 0: ea = abs((xr xv)/xr)*100 iter = iter + 1 prueba = f(xl) * f(xr) // Paso 3 si prueba < 0: xu = xr en caso contrario: xl = xr hasta que (ea<es or iter>=imax)mostrar xr
![Page 24: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/24.jpg)
• Código en Octave: biseccion.m• Código en Python: biseccion.py• Planilla de cálculo: biseccion.ods
![Page 25: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/25.jpg)
Método de la Falsa Posición
Bisección no es muy eficiente.Se prefiere el método de la falsa posición o regula falsi.
Se aproxima la raíz como la
intersección de la recta con
el eje x
![Page 26: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/26.jpg)
Método de la Falsa Posición: Cálculo de xr
Triángulos semejantes , ángulos iguales:
Despejando xr:
f (x )
f (x l)
f (xr )
f (xu)
x l xu xxr xrv
tanα=f (x l)
x r−x l
=f (xu)
x r−x u
x r=x u−f (x u)(x l−x u)
f (x l )− f (x u)fórmula de la falsa posición (6)
![Page 27: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/27.jpg)
Algoritmo del Método de la Falsa Posición
Paso 1: idéntico al Paso 1 del método de bisección.Paso 2: se aproxima la raíz con la fórmula de la falsa posición (6).Paso 3: idéntico al Paso 3 a) o b) del método de bisección.
Además, se introducen: cambios para reducir evaluaciones de la función (ver pseudocódigo Método de Regula Falsi).
contadores para evitar estancamiento (ver pseudocódigo Método de Regula Falsi Modificado).
![Page 28: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/28.jpg)
Representación Gráfica del Método
![Page 29: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/29.jpg)
![Page 30: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/30.jpg)
Representación Gráfica del Método
f (x )
raíz verdadera
f (x l)
f (xr1)
f (xu)
x l xu xxr1xr
v xr2
punto estancado
f (x )
raíz verdadera
f (x l)
f (xr1)
f (xu)
x l xu xxr1xr
v xr2
punto estancado
f(x) no tiene un punto de inflexión en [xl , x
u]
a) f(xl).f(x
r)<0
![Page 31: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/31.jpg)
Representación Gráfica del Método
f (x )
raíz verdadera
f (x l)
f (xr1)
f (xu)
x l xu xxr1 xr
vxr2
punto estancado
f (x )
raíz verdadera
f (x l)
f (xr1)
f (xu)
x l xux
xr1
xrv
xr2
punto estancado
f(x) no tiene un punto de inflexión en [xl , x
u]
b) f(xl).f(x
r)>0
![Page 32: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/32.jpg)
Representación Gráfica del Métodof (x )
f (x l1)
f (xr1)
f (xu1)
x l1 xu
1 xx l2=xr
1
xrv
f (x l)⋅f (x r )>0
xu3=xr
2 xu2
f (xr2)
x l3
xr3
Los superíndices denotan el número de iteración
Iteración 1:
Iteración 2:
Iteración 3:
f (x l)⋅f (x r )<0
f (x l)⋅f (x r )>0
f(x) tiene un punto de inflexión en [x
l , x
u]
Caso General:
![Page 33: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/33.jpg)
Método de la Falsa Posición: Pseudocódigo
iniciar xl, xu // Paso 1 iniciar iter=0, imax, es, xr = xudefinir funcion ffl = f(xl), fu = f(xu) //cambios para reducir evaluaciones de la funciónrepetir: xv = xr // Para calcular ea xr = xu fu*(xlxu)/(flfu) // Paso 2 si xr != 0: ea = abs((xr xv)/xr)*100 iter = iter + 1 fr = f(xr) prueba = fl * fr // Paso 3 si prueba < 0: xu = xr fu = fr en caso contrario: xl = xr fl = fr hasta que (ea<es or iter>=imax)mostrar xr
![Page 34: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/34.jpg)
Método de la Falsa Posición: Ejemplo 5.5
Resolver, por el método de la Falsa Posición, con g = 9.8, m = 68.1, t = 10:
f (c )=g m
c( 1−e
−cm
t ) −v=0
• Planilla de cálculo: regula_falsi.ods
• Código en Octave (opción 1): regula_falsi.m
• Código en Octave (opción 2): regula_falsi2.m
• Código en Python: regula_falsi.py
![Page 35: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/35.jpg)
Método de la Falsa Posición: Curva de Error
![Page 36: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/36.jpg)
Método de la Falsa Posición Modificado
Existen problemas si la función es casi constante: el avance hacia la raíz es lento, ya que uno de los puntos se estanca si la función no tiene un punto de inflexión .
Modificación de la falsa posición: cuando la función se estanca, se divide por dos el valor de la misma en el punto estancado.
Se detecta el estancamiento a través de contadores.
![Page 37: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/37.jpg)
Método de la Falsa Posición Modificado
f (x )
raíz verdadera
f (x l1)
f (x l2)
f (xu1)
x l1 xu
1 xxr1 xr
vxr2
punto estancado en las tresprimeras iteraciones
xr3
f (x l3)
f (xu2)
f ( xu2)
2
3º iteración: Regula Falsi Regula Falsi Modificada
1º iteración
2º iteración3º iteración
![Page 38: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/38.jpg)
Método de la Falsa Posición Modificado: Pseudocódigo
iniciar xl, xu // Paso 1 iniciar iter=0, imax, es, xr = xudefinir funcion ffl = f(xl), fu = f(xu) //cambios para reducir evaluaciones de la funciónrepetir: xv = xr // Para calcular ea xr = xu fu*(xlxu)/(flfu) // Paso 2 si xr != 0: ea = abs((xr xv)/xr)*100 iter = iter + 1 fr = f(xr) prueba = fl * fr // Paso 3 si prueba < 0: xu = xr fu = fr iu = 0 , il = il + 1 // contadores para evitar estancamiento si (il>=2): fl = fl/2 en caso contrario: xl = xr fl = fr il = 0 , iu = iu + 1 // contadores para evitar estancamiento si (iu>=2): fu = fu/2 hasta que (ea<es or iter>=imax)mostrar xr
![Page 39: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/39.jpg)
Falsa Posición Modificado: Ejemplo 5.5
Resolver por el método de la Falsa Posición Modificado, con g = 9.8, m = 68.1, t = 10:
f (c )=g m
c( 1−e
−cm
t ) −v=0
• Código en Python: ejemplo5_5_RFM.py • Planilla de cálculo: ejemplo5_5_RFM.ods
![Page 40: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/40.jpg)
Falsa Posición Modificado: Ejemplo 5.6
Resolver, por el método de la Falsa Posición Modificado, con x
l = 0 , x
u = 1.3:
f (x )=x 10−1=0
• Código en Python (regula falsi):ejemplo5_6_RF.py • Código en Octave: regFalsiMod.m• Código en Python:regFalsiMod.py • Planilla de cálculo: regFalsiMod.ods
Problemas 5.1 a 5.19, pag. 139
![Page 41: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/41.jpg)
Métodos Abiertos
• También emplean iteraciones sucesivas.• No requieren que el intervalo inicial encierre a la
raíz.• En general, son más eficientes que los cerrados,
aunque no siempre funcionan.• Se extienden para sistemas de ecuaciones no
lineales.
![Page 42: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/42.jpg)
Métodos Cerrados y Abiertos
![Page 43: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/43.jpg)
• Idea: reescribir la ecuación
como
– Despejando x– Sumando x miembro a miembro
• Ejemplos:
Iteración de Punto Fijo
f (x )=0
x=g (x )
x 2−2 x +3=0⇒x=
x 2+32
sin x=0⇒ x=sin x + x
![Page 44: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/44.jpg)
• Esquema iterativo: (7)
• Error aproximado: (8)
Iteración de Punto Fijo: Cálculo de xr
x i+1=g (x i )
fórmula de iteración de punto fijo
εa=|x i +1−x i
x i +1|⋅100%
![Page 45: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/45.jpg)
Iteración de Punto Fijo: Ejemplo 6.1 Hallar, mediante iteración de punto fijo, la raíz de:
f (x )=e−x−x
Se reescribe como: x i+1=e−x i
Valor inicial: x 0=0
x 1=e−x 0=e−0=1
x 2=e−x 1=e−1=0.367879...
1º iteración:
2º iteración:
• Planilla de cálculo: punto_fijo.ods• Código en Python: punto_fijo.py• Código en Octave: punto_fijo.m
![Page 46: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/46.jpg)
Resolver x = g(x) equivale a encontrar la intersección de las gráficas de las funciones:
Esta intersección se denomina punto fijo de la función g(x)
f 1(x )=x
f 2(x )=e−x
Iteración de Punto Fijo: Interpretación Geométrica
![Page 47: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/47.jpg)
Representación Gráfica del Método
CONVERGE
DIVERGE
COMPORTAMIENTOMONÓTONO
COMPORTAMIENTOOSCILATORIO
![Page 48: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/48.jpg)
Ecuación iterativa:
Solución exacta:
Restando m. a m.:
Por TVM:
con:
Condición de Convergenciax i+1=g (x i )
x r=g (x r )
x r−x i +1=g (x r )−g (x i)
g ' (ξ)=g (x r )−g (x i )
x r−x i
x i≤ξ≤x r
![Page 49: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/49.jpg)
Como es proporcional a , el método eslinealmente convergente o divergente.
Reemplazando: (9)
Por lo tanto: (10)
Condición de Convergencia
E t , i +1=g ' (ξ )E t , i
|g ' ( ξ)|<1
∀ξ∈[x i , x r ]
Esto significa que se asegura la convergencia si en todo el intervalo . |g ' (x )|<1 [x 0 ,x r ]
E t ,i +1 E t ,i
![Page 50: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/50.jpg)
g 1(x )
x 0
Verificar la condición de convergencia de las funciones de iteración de punto fijo de:
CONVERGE
Condición de Convergencia: Ejemplo
x 2−2 x−2=0 , x 0=2
g 1(x )=√ 2 x +2
g ' 1(x )=1
√ 2 x +2
|g ' 1(2)|<1
Función de iteración g1(x):
![Page 51: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/51.jpg)
DIVERGE de la raíz cercana a x
0=2
Condición de Convergencia: Ejemplo
g 2(x )=x 2
−22g ' 2(x )=x
|g ' 2(2)|>1
Otra función de iteración g2(x):
CONVERGE a otra raíz !!
Cuidado:
g 2 (x )
x 0
![Page 52: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/52.jpg)
Iteración de Punto Fijo: Pseudocódigo
iniciar xv, iter=0, imax, es definir funcion grepetir: xr = g(xv) si xr != 0: ea = abs((xr xv)/xr)*100 iter = iter + 1 xv = xr hasta que (ea<es or iter>=imax)mostrar xr
![Page 53: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/53.jpg)
Igualando la pendiente a f '(x):
f ' (x i)=f (x i)−0
x i−x i +1
Despejando (...):
x i+1=x i−f (x i )
f ' (x i )
Método de NewtonRaphson
(11)fórmula de NewtonRaphson
![Page 54: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/54.jpg)
![Page 55: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/55.jpg)
![Page 56: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/56.jpg)
![Page 57: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/57.jpg)
Encontrar, por el método de NewtonRaphson, la
raíz de: f (x )=e−x−x
f ' (x )=−e−x−1
f (x 0)=e−0−0=1
f ' (x 0)=−e−0−1=−2
x 1=x 0−f (x 0)
f ' (x 0)=0−
1−2
=0.5 ...
Método de NewtonRaphson: Ejemplo 6.3
La derivada de la función es :
Valor inicial: x 0=0
1º iteración:
![Page 58: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/58.jpg)
Método de NewtonRaphson: Ejemplo 6.3
• Planilla de cálculo: newton_raphson.ods• Código en Python: newton_raphson.py• Código en Octave: newton_raphson.m
![Page 59: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/59.jpg)
La ecuación iterativa de NR:
Es una ecuación de iteración de punto fijo:
Siendo:
Condición de Convergencia
x i+1=g (x i)
x i +1=x i−f (x i)
f ' (x i)
g (x i )=x i−f (x i )
f ' (x i )
g ' (x i )=f (x i ) f ' ' (x i)
[ f ' (x i)]2Si existe: ∀ x i∈[x 0 , x r ]
![Page 60: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/60.jpg)
Condición de Convergencia
El Teorema de NewtonRaphson demuestra que se asegura la convergencia si en todo el intervalo .
|g ' (x )|<1[x 0 ,x r ]
![Page 61: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/61.jpg)
Como es proporcional a , el método escuadráticamente convergente o divergente.
Análisis de Error Newton Raphson
Partiendo de la serie de Taylor se puede demostrar que:
E t ,i +1 E t ,i2
E t , i +1=−f ' ' (x r )
2 f ' (x r )E t , i
2
Esto significa que el número de cifras correctas aproximadamente se duplica en cada iteración cuando el método converge.
(12)
![Page 62: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/62.jpg)
Desventajas del método de NewtonRaphson
![Page 63: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/63.jpg)
Desventajas del método de NewtonRaphson
![Page 64: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/64.jpg)
![Page 65: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/65.jpg)
![Page 66: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/66.jpg)
![Page 67: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/67.jpg)
NewtonRaphson: Pseudocódigo
iniciar xv, iter=0, imax, es definir funcion fdefinir funcion dfrepetir: xr = xv f(xv)/df(xv) si xr != 0: ea = abs((xr xv)/xr)*100 iter = iter + 1 xv = xr hasta que (ea<es or iter>=imax)mostrar xr
![Page 68: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/68.jpg)
x i−1x i
xx i+1x r
f (x )línea
secante
Se aproxima la derivada f '(x) de NewtonRaphson con una diferencia finita hacia atrás:
Método de la Secante
f ' (x i)=f (x i−1)− f (x i)
x i−1−x i
![Page 69: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/69.jpg)
Sustituyendo en la fórmula de NewtonRaphson y despejando xi+1:
Si bien necesita 2 puntos, no se clasifica como un método cerrado.
Método de la Secante
x i+1=x i−f (x i ) ( x i−1−x i )
f (x i−1)− f (x i )(13)
fórmula de la secante
![Page 70: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/70.jpg)
![Page 71: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/71.jpg)
![Page 72: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/72.jpg)
![Page 73: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/73.jpg)
![Page 74: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/74.jpg)
![Page 75: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/75.jpg)
Encontrar, por el método de la secante, la raíz de:f (x )=e−x
−x
Método de la Secante: Ejemplo 6.6
La raíz verdadera es:
Valores iniciales:1º iteración:
x=0.56714329 ...
x−1=0.0 , x 0=1.0
x−1=0 , f (x−1)=1.00000
x 0=1 , f (x 0)=−0.63212
x 1=1−−0.63212 (0−1)
1−(−0.63212)=0.61270 , ε t=8.0 %
![Page 76: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/76.jpg)
Método de la Secante: Ejemplo 6.6
• Planilla de cálculo: secante.ods• Código en Python: secante.py• Código en Octave: secante.m
![Page 77: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/77.jpg)
Como es proporcional a , el método tiene convergencia o divergencia superlineal, ya que .
Análisis de Error Secante
Se puede demostrar que:
E t ,i +1 E t ,i1.618
E t , i +1=| f ' ' (x r )
2 f ' (x r )|0.618
E t , i1.618 (14)
Lo que significa que: E t , i +1=cte E t , i1.618
1< p=1.618 <2
![Page 78: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/78.jpg)
Falsa Posición Secante: Diferencias
![Page 79: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/79.jpg)
Método de la Secante: Pseudocódigo
iniciar x0, x1, iter=0, imax, es definir funcion frepetir: x2 = x1 (f(x1)*(x0x1))/(f(x0)f(x1)) si x2 != 0: ea = abs((x2 x1)/x2)*100 iter = iter + 1 x0 = x1; x1 = x2 hasta que (ea<es or iter>=imax)mostrar x2
![Page 80: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/80.jpg)
Considera un cambio fraccionario para estimar la derivada:
f ' (x i)=f (x i+δx i)− f (x i)
δx i
Reemplazando en la ecuación de NR:
x i+1=x i−δ x i f (x i )
f (x i +δ x i )− f (x i )
Método de la Secante Modificado
fórmula de la secante modificada
(15)
![Page 81: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/81.jpg)
No se pueden usar métodos cerradospara raíces múltiples pares.
Los métodos de NewtonRaphson y de la secante tienen convergencia lineal cuando hay raíces múltiples.
Raíces Múltiples
![Page 82: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/82.jpg)
Se puede demostrar que u(x) tiene las mismas raíces que f(x):
u (x )=f (x )
f ' (x )
Planteando NR para u(x): x i +1=x i−u (x )
u ' (x )Desarrollando (...),
x i +1=x i−f (x i) f ' (x i)
[ f ' (x i ) ]2− f (x i ) f ' ' (x i)
Método de NewtonRaphson Modificado
fórmula de NewtonRaphson modificada
(16)
Tiene convergencia cuadrática para raíces múltiples.
![Page 83: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/83.jpg)
NewtonRaphson Modificado: Pseudocódigo
iniciar xv, iter=0, imax, es definir funcion fdefinir funcion dfdefinir funcion d2frepetir: xr = xv (f(xv)*df(xv)) / (df(xv)**2f(xv)*d2f(xvt)) si xr != 0: ea = abs((xr xv)/xr)*100 iter = iter + 1 xv = xr hasta que (ea<es or iter>=imax)mostrar xr
![Page 84: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/84.jpg)
NewtonRaphson Modificado: Ejemplo 6.9
Calcular, por los métodos de NewtonRaphson estándar y modificado, la raíz múltiple de:
f (x )=x 3−5 x 2
+7 x −3
• Código en Python: newton_ej6_9.py • Código en Octave: newton_ej6_9.m• Código en Python: newtonRaphsonMod.py • Código en Octave: newtonRaphsonMod.m
Problemas 6.1 a 6.25, pag. 167
Valor inicial: x 0=0
![Page 85: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/85.jpg)
Raíces de Polinomios
• Deflación polinomial
• Método de Müller
![Page 86: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/86.jpg)
• Permite encontrar sucesivamente las raíces de un polinomio P(x).
• Una vez encontrada una raíz x1, para no
volver a la misma raíz se divide a P(x) por (x – x
1). El nuevo polinomio ya no
posee la raíz x1.
Deflación Polinomial
![Page 87: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/87.jpg)
Encontrar las raíces de:P (x )=x 3−2 x 2
−x +2
Aplicando el método de NewtonRaphson con x0 = 0:
Primera raíz: 2.00000 ( 2 iteraciones)
Nuevo polinomio:
g (x )=x 2−1
Deflación Polinomial: Ejemplo
g (x )=P (x )
x−2
![Page 88: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/88.jpg)
Nuevo polinomio:
Tercera raíz: 1.00000 (1 iteración)
Para realizar P(x)/(x2), se puede utilizar Octave: >> P=[1 2 1 2];>> p1=[1 2];>> [g,r]=deconv(P,p1)g = 1 0 1r = 0 0 0 0
P (x )=1 x 3−2 x 2−1 x +2
p 1(x )=1 x −2
resto del cociente
Deflación Polinomial: Ejemplo
Aplicando el método de NR con x0 = 1:
h (x )=g (x )
x−1=x +1
Segunda raíz: 1.00000 ( 1 iteración)
![Page 89: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/89.jpg)
Deflación Polinomial: Ejemplo
![Page 90: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/90.jpg)
Método de la secante:
2 puntos función lineal→
Método de Müller:
3 puntos función cuadrática→
Método de Müller
![Page 91: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/91.jpg)
Método de Müller
![Page 92: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/92.jpg)
Se escribe la función cuadrática de la forma:f (x )=a (x−x 2)
2+b (x−x 2)+c
Evaluando en los puntos x0, x1 y x2 (…) se tiene que: c = f (x 2)
f (x 0)− f (x 2)=a (x 0−x 2)2+b (x 0−x 2)
f (x 1)− f (x 2)=a (x 1−x 2)2+b (x 1−x 2)
Método de Müller
Reemplazando,
![Page 93: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/93.jpg)
Haciendo: h0=x 1−x 0
Reemplazando en las anteriores y resolviendo para a y b (...), se tiene:
a=δ1−δ0
h1+h 0
h1=x 2−x 1
δ0=f (x 1)− f (x 0)
x 1−x 0
δ1=f (x 2)− f (x 1)
x 2−x 1
b=a h1+δ1 c = f (x 2)
Método de Müller
![Page 94: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/94.jpg)
Para encontrar la raíz, x 3−x 2=−2 c
b±√b 2−4 a c
Se elige el signo central de modo que coincida con el signo de b.Se descarta un valor (x0, x1 ó x2):
– Raíces reales: el más alejado de x3
– Raíces complejas: (x0, x1, x2) = (x1, x2, x3)
Método de Müller
x 3=x 2−2 c
b±√b 2−4 a c
(17)
fórmula de Müller
![Page 95: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/95.jpg)
Encontrar una raíz de la función:
f (x )=x 3−13 x−12
Partiendo de (x0, x1, x2) = (4.5, 5.5, 5.0)
f (4.5)=20.625 , f (5.5)=82,875 , f (5.0)=48
h 0=5.5−4.5=1 h1=5.0−5.5=−0.5
δ0=f (x 1)− f ( x 0)
x 1−x 0
=62.25 δ1=f (x 2)− f (x 1)
x 2−x 1
=69.75
Método de Müller: Ejemplo 7.2
![Page 96: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/96.jpg)
a=...=15 , b=62.25 , c =48
√b 2−4 a c =...=31.54461
x 3=x 2+−2 c
b+√ b 2−4 a c
=...=3.976487
εa=| 3.976487−53.976487 |=25.74 %
Planilla de cálculo: muller.ods
Método de Müller: Ejemplo 7.2
![Page 97: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/97.jpg)
iniciar x0, x1, x2, iter=0, imax, es definir funcion ff0 = f(x0) ; f1 = f(x1) ; f2 = f(x2)
repetir: h0 = x1 – x0 ; h1 = x2 x1delta0 = (f1f0) / h0 ; delta1 = (f2f1) / h1
a = (delta1delta0) / (h1+h0)b = a*h1 + delta1 c = f2
D = sqrt(b*b4*a*c) E = b + D si abs(bD) > abs(E): E = bD
x3 = x2 – 2*c / E f3 = f(x3) si x3 != 0:
ea = abs((x3 x2)/x3)*100 iter = iter + 1 x0 = x1; x1 = x2; x2 = x3f0 = f1; f1 = f2; f2 = f3
hasta que (ea<es or iter>=imax)mostrar x3
Método de Müller: Pseudocódigo
![Page 98: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/98.jpg)
Encontrar las raíces de: f (x )=x 3−x−1
Método de Müller: Ejemplo
f(x) tiene una raíz real y dos raíces complejas.
![Page 99: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/99.jpg)
Método de Müller: Ejemplo
• Planilla de cálculo: muller2.ods• Código en Python: muller2.py• Código en Octave: muller2.mPartiendo de:
(x0, x1, x2) = (0, 1, 2), se encuentra
(x0, x1, x2) = (0, 4, 7), se encuentra
(x0, x1, x2) = (0, 4, 7), se encuentra
x r 1=1.3247
x r 2=−0.66236+0.56228 i
x r 3=−0.66236−0.56228 i
![Page 100: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/100.jpg)
• Octave: Raíz de una función: fzero(funcion, valorInicial) >> f = inline('exp(x)x','x');
>> xr = fzero(f,0.0)
xr = 0.56714
Raíces de un polinomio: roots(vectorCoefPol) >> P = [1 0 1 1]; % x^3x1
>> r = roots(P)
r =
1.32472 + 0.00000i
0.66236 + 0.56228i
0.66236 0.56228i
Herramientas disponibles
![Page 101: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/101.jpg)
• Planilla de cálculo: búsqueda de valor destino, destino.ods
• Python: librerías Numpy y Scipy
Raíz de una función: fsolve(funcion, valorInicial)>>> from scipy.optimize import fsolve
>>> def f(x): return exp(x)x
...
>>> xr = fsolve(f,0.0)
>>> xr
0.56714329040978384
Herramientas disponibles
![Page 102: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/102.jpg)
Raíces de un polinomio:
roots(poly1d(vectorCoefPol))
>>> from numpy import poly1d, roots
>>> p=poly1d([1,0,1,1]) # x^3x1
>>> p
poly1d([ 1, 0, 1, 1])
>>> r=roots(p)
>>> r
array([ 1.32471796+0.j, 0.66235898+0.56227951j,
0.662358980.56227951j])
>>> xr2=r[1] # se extrae la segunda raiz de r
>>> xr2
(0.66235897862237292+0.56227951206230109j)
Herramientas disponibles
![Page 103: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/103.jpg)
Problemas 7.1 a 7.25, pag. 197
![Page 104: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/104.jpg)
Estudio de casos (Cap. 8)
![Page 105: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/105.jpg)
Ley de los gases no ideales
• Ley de los gases ideales
pV=n RT
• Ecuación de Van der Waals
p a
v2 v−b=RT , v=Vn
Volumen molar
![Page 106: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/106.jpg)
Ley de los gases no ideales
• Calcular el volumen molar para el dióxido de carbono y el oxígeno
• Solucion en Octave: caso_81.m
R=0,082054l atmmol K
a b
CO2
3,592 0,04267
O2
1,360 0,03183
![Page 107: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/107.jpg)
Flujo en canales abiertos
• Ecuación de continuidad Q=U A=U B H
![Page 108: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/108.jpg)
Flujo en canales abiertos
• Ecuación de Manning U=
1nR2 / 3 S1 / 2
R=AP
Radio hidráulico
P=B2H Perímetro mojado
• Reemplazando (...),
Q=S1 / 2
nB H 5 / 3
B2H 2 / 3
![Page 109: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/109.jpg)
Flujo en canales abiertos
• Datos*: Q = 4 m³/s, B = 2 m, S = 0.001, n = 0.015
• Incógnita = H• Resolver
• Resuelto por iteración de punto fijo en canales.ods
f H =S1 / 2
nBH 5 / 3
B2H 2 / 3−Q=0
![Page 110: Unidad 2 - ayudasingenieria 2 - Raices... · Paso 3: seleccionar aquel subintervalo en que f(x) cambie de signo a) Si f(x l).f(x r)](https://reader034.fdocuments.ec/reader034/viewer/2022042106/5e850470cce102176814011d/html5/thumbnails/110.jpg)
Problemas 8.1 a 8.46, pag. 216