Raices de ecuaciones

46
CÁLCULO DE RAÍCES DE ECUACIONES NO LINEALES Por Frednides Guillén

Transcript of Raices de ecuaciones

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