CÁLCULO DE RAÍCES DE ECUACIONES NO...
-
Upload
truongcong -
Category
Documents
-
view
216 -
download
0
Transcript of CÁLCULO DE RAÍCES DE ECUACIONES NO...
CÁLCULO DE RAÍCES DE
ECUACIONES NO LINEALES
Por Frednides Guillén
MÉTODO DE BISECCIÓN
• Este método consiste en hallar los ceros de una función
continua f(x).
• Primero se debe considerar un intervalo [xi, xs] en el que
se garantice que la función tiene raíz.
• Para ello f(xi) y f(xs) deben ser de diferentes signos. Por
lo tanto debe cumplirse que:
f(xi) • f(xs) < 0
• De acuerdo con el teorema del valor intermedio, existe
un numero xr en [xi, xs] tal que f(xr) = 0
f(x)
x
MÉTODO DE BISECCIÓN
xi xs x
f(xi)
f(xs)
MÉTODO DE BISECCIÓN
f(x)
MÉTODO DE BISECCIÓN
• Si f(xi)=0 --> f(xi) es raíz.
• Si f(xs)=0 --> f(xs) es raíz
• El segmento [xi, xs] se bisecta, tomando el punto de
bisección xr como aproximación de la raíz buscada.
• Se determina el signo de f(xr) y se sustituye el extremo
cuyo signo coincida y se desecha el resto del intervalo.
2
is
r
xxx
MÉTODO DE BISECCIÓN
• De esta forma se generan intervalos que encierran la
raíz buscada y que son de longitud igual a la mitad de la
longitud del intervalo del paso anterior.
• El método divide a la mitad cada nuevo intervalo que se
genere.
xi xs xr
f(x)
x
f(xi)
f(xs)
f(xr)
MÉTODO DE BISECCIÓN
Seudo Código:
• Se define un intervalo [x1, x2] de la función f(x), donde la esta es continua y
se verifica que f(x1)·f(x2) < 0. Se define la tolerancia ε y el numero máximo
de iteraciones Nitera y hacer Iter=0
• Repetir
– Iter = Iter +1
– Hacer x3= (x1+x2)/2
– Si f(x3)·f(x1) < 0
• Entonces x2 = x3
• Sino x1 = x3
– Fin del Si
• Hasta que |(x1 - x3)|< 2 ε o Iter == Nitera
• Imprimir “La raíz es: ” x3
MÉTODO DE BISECCIÓN
MÉTODO DE BISECCIÓN
• Cálculo del error:
• El error exacto no se puede calcular si no conocemos la
solución exacta (si se conoce, no es necesario el
método iterativo). En la práctica, se estima el error
mediante la distancia entre dos iteraciones
consecutivas.
)2ln(
ln
2
12
12
Error
xx
nxx
Errorn
MÉTODO DE BISECCIÓN
Ejemplo:
• Calcular la raíz de f(x) = x3 + x2 – 3x – 3 = 0, que está en
el intervalo [1, 2]. Calcular con una precisión de 3
decimales exactos. ¿Cuántos dígitos significativos tiene
la aproximación calculada después de la cuarta
iteración?
• Cuántas iteraciones serán necesarias para alcanzar una
precisión de 6 decimales exactos?
Iteración x1 f(x1) x2 f(x2) x3 f(x3)
1 1 -4 2 3 1,5 -1,875
2 1,5 -1,875 2 3 1,75 0,171875
3 1,5 -1,875 1,75 0,171875 1,625 -0,943359
4 1,625 -0,943359 1,75 0,171875 1,6875 -0,409424
5 1,6875 -0,409424 1,75 0,171875 1,71875 -0,124786
6 1,71875 -0,124786 1,75 0,171875 1,734375 0,02203
7 1,71875 -0,124786 1,734375 0,02203 1,726563 -0,051755
8 1,726563 -0,051755 1,734375 0,02203 1,730469 -0,014957
MÉTODO DE BISECCIÓN
MÉTODO DE BISECCIÓN
Ventajas:
• Es robusto
• De fácil aplicación
• No necesita calcular la derivada
Desventajas
• Es lento
• No detecta ceros en mín. o máx. locales
• No detecta un número par de ceros
MÉTODO DE REGULA-FALSI
• Conocido también como método de falsa posición
• Primero se selecciona un intervalo [a, b] tal que
f(a)· f(b) < 0
• Hallar el punto c que divide el intervalo [a, b], al trazar
una recta de f(a) hasta f(b), para ello:
• Elegir, entre [a, c] y [c, b], un intervalo en el que la
función cambie de signo.
• Repetir los pasos 2 y 3 hasta conseguir la precisión
deseada.
)()()(
afbf
abafac
MÉTODO DE REGULA-FALSI
f(x)
x
MÉTODO DE REGULA-FALSI
a b
f(x)
x
f(a)
f(b)
MÉTODO DE REGULA-FALSI
a b
f(x)
x
f(a)
f(b)
MÉTODO DE REGULA-FALSI
c f(c)
a b
f(x)
x
f(a)
f(b)
Se hace b = c
La solución está en el
Intervalo [a, c]
MÉTODO DE REGULA-FALSI
• El método de Regula Falsi, como él de bisección, parte
de un intervalo en el que la función cambia de signo y lo
divide en dos partes. La diferencia es que los
subintervalos ahora son proporcionales a los valores de
la función en los extremos.
• El método converge generalmente con más rapidez que
la bisección, pero no garantiza que el intervalo de
búsqueda de la raíz se haga pequeño. Típicamente, un
extremo queda fijo mientras que el otro se acerca a la
raíz.
MÉTODO DE REGULA-FALSI
• El criterio de convergencia es diferente al método de
bisección. En este caso se utiliza:
| cactual – canterior | ε
• También se puede emplear:
| f(c) | ε
MÉTODO DE REGULA-FALSI
Ventajas:
• En algunos casos es más rápido que bisección
• No necesita calcular derivadas
Desventajas
• No detecta un número par de ceros
• No detecta ceros en mínimos locales
MÉTODO DE REGULA-FALSI
• Ejemplo:
• Calcular la raíz de f(x) = x3 + x2 – 3x – 3 = 0, que está en
el intervalo [1, 2]. Calcular con una precisión de 3
decimales exactos.
• ¿Cuántos dígitos significativos tiene la aproximación
calculada después de la cuarta iteración?.
MÉTODO DE REGULA-FALSI
Iteracion x1 f(x1) x2 f(x2) x3 f(x3)
1 1 -4 2 3 1,5714 -1,364431
2 1,5714 -1,3644 2 3 1,7054 -0,247745
3 1,7054 -0,2477 2 3 1,7279 -0,039340
4 1,7279 -0,0393 2 3 1,7314 -0,006111
5 1,7314 -0,0061 2 3 1,7320 -0,000946
6 1,7320 -0,0009 2 3 1,7320 -0,000146
7 1,7320 -0,0001 2 3 1,7320 -0,000023
8 1,7320 0,0000 2 3 1,7321 -0,000004
MÉTODO DE REGULA-FALSI
Seudo Código:
• Se define un intervalo [x1, x2] de la función f(x), donde la esta es continua y
se verifica que f(x1)·f(x2) < 0. Se define la tolerancia ε y el numero máximo
de iteraciones Nitera y hacer Iter=0
• Repetir
– Iter = Iter +1
– Hacer x3= x1-f(x1)(x2-x1)/(f(x2)-f(x1))
– Si f(x3)·f(x1) < 0
• Entonces x2 = x3
• Sino x1 = x3
– Fin del Si
• Hasta que |f(x3)|< ε o Iter == Nitera
• Imprimir “La raíz es: ” x3
MÉTODO DE NEWTON RAPHSON
• El método de Newton Raphson aplica si f(x), f’(x) y f’’(x)
son continuas y es uno de los algoritmos mas útiles y
mejor conocido.
• Se parte de una aproximación inicial x0 la cual es mejor
si está cerca de la raíz p
MÉTODO DE NEWTON RAPHSON
x0
f(x)
x
f(x0)
MÉTODO DE NEWTON RAPHSON
• Luego se obtiene el valor de la función por ese punto y
se traza una recta tangente a la función por ese punto.
• El punto de intersección de esta recta con el eje de las
abscisas (x1, 0), constituye una segunda aproximación
de la raíz.
• El proceso se repite n veces hasta que el punto de
intersección xn coincide prácticamente con el valor
exacto de la raíz.
f(x0)
MÉTODO DE NEWTON RAPHSON
x0
f(x)
x x1
MÉTODO DE NEWTON RAPHSON
x0
f(x)
x
f(x0)
x1
f(x1)
MÉTODO DE NEWTON RAPHSON
x0
f(x)
x
f(x0)
x1
f(x1)
x2 x3
MÉTODO DE NEWTON RAPHSON
• Primero se calcula la pendiente de la recta tangente:
• m es la pendiente de la recta tangente que pasa por el
punto x0; por lo tanto: m = f’(x0)
• Igualando las dos ecuaciones anteriores de m y
despejando x1 se tiene:
• Se puede emplear como criterio de convergencia:
| (x0 - x1)/ x1 | < ε (Error relativo)
01
0 )(0
xx
xfm
)('
)(
0
001
xf
xfxx
MÉTODO DE NEWTON RAPHSON
Aunque el método trabaja bien, no existe garantía de convergencia.
f(x)
X3 X1
X0 X2
X
MÉTODO DE NEWTON RAPHSON
Seudo Código:
• Se define el valor inicial x0 de la función f(x)
• Se define la tolerancia ε y el número máximo de iteraciones Nitera y se
hace Iter=0
• Repetir
– Iter = Iter +1
– Calcular x1= x0-f(x0)/f’(x0)
– Calcular error = |x1 - x0 |
– Hacer X0 = X1
• Hasta que error < ε o Iter == Nitera
• Imprimir “La raíz es: ” x1
MÉTODO DE NEWTON RAPHSON
Código en Scilab:
x0=2; tol=1e-5; Niter=30;
for Iter=0:Niter
Iter = Iter + 1;
x1 = x0 - (x0^3+x0^2-3*x0-3)/(3*x0^2+2*x0-3);
err = abs(x1-x0);
x0 = x1;
if (err <= tol) then
break
end
end
disp (x0);
Ejemplo:
• Calcular la raíz de f(x) = x3 + x2 – 3x – 3 = 0, que está en
el intervalo [1, 2], utilice x0=2. Calcular con una precisión
de 3 decimales exactos.
• ¿Cuál es el error absoluto para la cuarta iteración?.
MÉTODO DE NEWTON RAPHSON
Iteración x0 f(x0) f '(x0) x1 Error
1 2 3 13 1,769230769 0,130434783
2 1,769230769 0,360491579 9,928994083 1,73292381 0,020951272
3 1,73292381 0,00826691 9,474922419 1,732051306 0,00050374
4 1,732051306 4,71824E-06 9,464107793 1,732050808 2,87832E-07
5 1,732050808 1,53921E-12 9,464101615 1,732050808 9,38406E-14
MÉTODO DE NEWTON RAPHSON
MÉTODO DE LAS SECANTES
• Consiste en elegir dos puntos iniciales cualquiera x0, x1
para los cuales se evalúan los valores de la función:
• Se traza una recta secante a la función por esos dos
puntos.
• El punto de intersección de esta recta con el eje de las
abscisas (x2, 0) constituye una segunda aproximación
de la raíz.
• El proceso se repite n veces hasta que el punto de
intersección xn coincide prácticamente con el valor
exacto de la raíz.
x0 x1 x2 x
f (x0)
x3
f (x)
f (x1)
f (x2)
f (x3)
MÉTODO DE LAS SECANTES
MÉTODO DE LAS SECANTES
• La pendiente de la recta se calcula como:
• La intercepción con el eje x es:
01
01 xx
)f(x)f(xm
)()()(
)(
01
01002
002
xfxf
xxxfxx
mxfxx
MÉTODO DE LAS SECANTES
Algoritmo
• Entrar los datos x0, x1, tol, Nitera, Iter=0
• Repetir
Iter = Iter +1; x2=x0-f (x0)(x1-x0)/(f (x1)-f (x0))
Hacer x0=x1 y x1=x2
Error =│(x0 – x1) / x1│*100 (Error Relativo porcentual)
• Hasta que Error ≤ tol o Iter = Nitera
• Imprimir x2
Ejemplo:
• Calcular la raíz de f(x) = x3 + x2 – 3x – 3 = 0, que está en
el intervalo [1, 2], utilice x0=3 y x1=2. Calcular con una
precisión de 3 decimales exactos.
• ¿Cuál es el error absoluto para la cuarta iteración?.
MÉTODO DE LAS SECANTES
Iteración x0 x1 x2 Error Absoluto
1 3 2 1,857142857 0,076923077
2 2 1,857142857 1,750424448 0,060967161
3 1,857142857 1,750424448 1,733455735 0,009788951
4 1,750424448 1,733455735 1,732067544 0,000801465
5 1,733455735 1,732067544 1,732050823 9,6541E-06
6 1,732067544 1,732050823 1,732050808 8,88175E-09
7 1,732050823 1,732050808 1,732050808 9,73019E-14
MÉTODO DE LAS SECANTES
MÉTODO DEL PUNTO FIJO
• Considera la descomposición de la función f(x) en una diferencia de dos funciones: una primera g(x) y la segunda, siempre la función x.
f(x) = g(x) – x
• La raíz de la función f(x) se da cuando f(x) = 0, es decir, cuando g(x) – x = 0, por lo que:
x = g(x)
• El punto de intersección de las dos funciones, da entonces el valor exacto de la raíz.
MÉTODO DEL PUNTO FIJO
• El método consiste en considerar un valor inicial x0, como aproximación a la raíz, evaluar el valor de esta función g(x0), considerando éste como una aproximación de la raíz.
• El proceso se repite n veces hasta que g(x) coincide prácticamente con x.
• Se puede emplear como criterio de convergencia
| (x0 - x1)/ x1 | < ε (Error Relativo)
MÉTODO DEL PUNTO FIJO
Algoritmo:
• Se inicializan las variables x0, tol, Nitera, Iter=0
• Repetir
Iter = Iter +1
Hacer x1= g(x0)
Error =│(x0 – x1) / x1│ (Error Absoluto)
Hacer x0 = x1
• Hasta que Error ≤ tol o Iter = Nitera
• Imprimir x0
Ejemplo:
• Calcular la raíz de f(x) = x3 + x2 – 3x – 3 = 0, que está en
el intervalo [1, 2], utilice x0=2. Calcular con una precisión
de 3 decimales exactos.
• ¿Cuál es el error absoluto para la cuarta iteración?.
MÉTODO DEL PUNTO FIJO
Iteración x0 x1 Error Absoluto
1 2 1,709975947 0,169607095
2 1,709975947 1,733134316 0,013362132
3 1,733134316 1,731994802 0,00065792
4 1,731994802 1,732053695 3,40019E-05
5 1,732053695 1,732050659 1,75317E-06
6 1,732050659 1,732050815 9,04059E-08
7 1,732050815 1,732050807 4,66195E-09
8 1,732050807 1,732050808 2,40402E-10
MÉTODO DEL PUNTO FIJO
3 233
)(
xxx
xgx