13
1 Grado en Ciencia y Tecnología de los Alimentos Fundamentos de Ingeniería de los Alimentos Práctica 3 Resolución de ecuaciones no lineales mediante métodos numéricos

Práctica 3 Resolución de ecuaciones no lineales mediante ...tep028/fia/curso_2013_2014/seminario/practica_3... · milésima, resolver, si es posible, la siguiente ecuación por

  • Upload
    lyquynh

  • View
    214

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Práctica 3 Resolución de ecuaciones no lineales mediante ...tep028/fia/curso_2013_2014/seminario/practica_3... · milésima, resolver, si es posible, la siguiente ecuación por

1

Grado en Ciencia y Tecnología de los Alimentos

Fundamentos de Ingeniería de los Alimentos

Práctica 3

Resolución de ecuaciones no lineales mediante métodos numéricos

Page 2: Práctica 3 Resolución de ecuaciones no lineales mediante ...tep028/fia/curso_2013_2014/seminario/practica_3... · milésima, resolver, si es posible, la siguiente ecuación por

2

1.- Método de tanteo

Se emplea en ecuaciones que puedan expresarse en la forma:

( )f x C

eq. 1

Donde C es una constante.

Consiste en suponer un valor de x y comprobar que se cumple la expresión

dentro de un límite de error, E, previamente establecido como aceptable.

Problema 1:

Calcular el valor de x que cumple la siguiente ecuación con una aproximación

de E = 0.001:

8 4xe x

Solución:

Por analogía con la eq. 1:

( ) 8xf x e x

C = 4

Se substituyen distintos valores de x en f(x) y se valora el grado de aproximación

conseguido con el valor constante C.

Tabla 1

Tanteo x f(x)=ex-8x E=C-f(x) 1 1 -5,2817 9,2817

2 2 -8,6109 12,6109

3 -1 8,3679 -4,3679

4 -0,5 4,6065 -0,6065

5 -0,6 5,3488 -1,3488

6 -0,4 3,8703 0,1297

7 -0,45 4,2376 -0,2376

8 -0,42 4,0170 -0,0170

9 -0,418 4,0024 -0,0024

10 -0,417 3,9950 0,0050

11 -0,4175 3,9987 0,0013

12 -0,4177 4,0002 -0,0002

Page 3: Práctica 3 Resolución de ecuaciones no lineales mediante ...tep028/fia/curso_2013_2014/seminario/practica_3... · milésima, resolver, si es posible, la siguiente ecuación por

3

Esta forma de proceder es intuitiva. No obstante, si se observa bien, la estrategia

seguida en este ejemplo no ha sido al azar, sino muy aproximada al método de la

bisección, tal como se explica en el apartado siguiente.

Problema propuesto 1:

Determinar por el método de tanteo la solución de la siguiente ecuación:

ln( 1) 2x

Page 4: Práctica 3 Resolución de ecuaciones no lineales mediante ...tep028/fia/curso_2013_2014/seminario/practica_3... · milésima, resolver, si es posible, la siguiente ecuación por

4

2.- Método de la bisección

Es el método anterior pero empleando una estrategia de tanteo binario. En primer

lugar, la ecuación debe expresarse de tal forma que C = 0.

( ) 0f x

eq. 2

A continuación debe elegirse un valor de x tal que la función sea negativa (a) y

otro en que la función sea positiva (b).

( ) 0f a

( ) 0f b

El primer valor de tanteo, m, será el valor medio de este intervalo.

2

a bm

eq. 3

Si ahora el resultado de la función f(m) es nulo o muy próximo a cero dentro de

un margen de precisión, E, se ha acabado el procedimiento y se ha encontrado la

solución.

En cambio, si el error es superior a E, hay que considerar un nuevo intervalo más

estrecho, cambiando uno de los extremos por el último valor de m utilizado según dos

posibles casos:

1. Si f(m)>0, se substituye el extremo anterior que daba f(x) positivo por esta

m. Es decir se hace el cambio b = m

2. Por tanto, si no se cumple el caso 1 y f(m)<0, se substituye el extremo

anterior que daba f(x) negativo por esta m. Es decir se hace el cambio a =

m

De nuevo se determina una nueva m con la eq. 3, siendo ahora los a y b

resultantes de los casos 1 ó 2 anteriores. Se repite el proceso hasta que encontremos un

f(m) con una proximidad a cero inferior a la precisión E establecida previamente.

En comparación con el método de Newton que se explicará a continuación, es

más lento; pero la convergencia está garantizada según el teorema de Bolzano de

funciones continuas, es decir, siempre se encuentra una solución.

Si la función que estamos tratando se cumple para varios x distintos, habrá que

tener la precaución de elegir los intervalos iniciales en la zona próxima a estas

soluciones y hacer un tanteo para cada una de ellas.

Page 5: Práctica 3 Resolución de ecuaciones no lineales mediante ...tep028/fia/curso_2013_2014/seminario/practica_3... · milésima, resolver, si es posible, la siguiente ecuación por

5

Problema 2:

Despejar el valor de x con una precisión E = 0.001 de esta ecuación empleando

el método de la bisección, en el intervalo a = 0 y b = 1.

10 2x x

Solución:

Rehacemos la ecuación de la siguiente forma:

( ) 10 2 0f x x x

Se comprueba que f(a) = f(0) = -2 es negativo y que f(b) = f(1) = 0.1623 es

positivo. Si no fuera así, se buscarían otros valores de x dentro del intervalo que

cumplieran la condición de que uno genera una f(x) positiva y el otro negativa.

En la Tabla 2 se muestran las iteraciones realizadas. Cuando el valor de la

función se hace negativo se hace el cambio a = m (valores en rojo) y cuando la función

se hace positiva el cambio es b = m (valores en azul). En la iteración 9 la función en

valor absoluto es inferior a E. No obstante hemos realizado una nueva iteración por si

todavía apareciera un nuevo valor mayor, pero se confirma que es también inferior a E.

Vamos a considerar por tanto que la solución, en el intervalo elegido, es x = 0.764 (la

cuarta cifra decimal no es segura)

Tabla 2

Iteración m=(a+b)/2 f(m) a b

0

0 1

1 0,5 -0,2639 0,5 1

2 0,75 -0,0114 0,75 1

3 0,875 0,0830 0,75 0,875

4 0,8125 0,0379 0,75 0,8125

5 0,78125 0,0138 0,75 0,78125

6 0,765625 0,0014 0,75 0,765625

7 0,7578125 -0,0050 0,7578125 0,765625

8 0,76171875 -0,0018 0,76171875 0,765625

9 0,76367188 -0,0002

Page 6: Práctica 3 Resolución de ecuaciones no lineales mediante ...tep028/fia/curso_2013_2014/seminario/practica_3... · milésima, resolver, si es posible, la siguiente ecuación por

6

Figura 1

Problema propuesto 2:

En la Figura 1 se muestra una representación gráfica de la función que estamos

estudiando. Se observa que f(x) = 0 en dos puntos: el encontrado (x = 0.764) y otro en

el intervalo entre 4 y 6. Para x =4 la función es positiva (luego b = 4) y para x = 6 la

función es negativa (luego a = 6). Se propone encontrar un valor preciso para esta

segunda solución de la ecuación partiendo de estos valores de a y b.

Problema Propuesto 3:

Resolver las siguientes ecuaciones que tienen la solución en el intervalo [0.3, 1.4]

empleando el método de la bisección con una aproximación de 0,01:

2

cos ln

2 0

1

x

x

x x x

x e

e x

-3

-2

-2

-1

-1

0

1

1

2

2

3

0 2 4 6 8 10

x

f(x)

Page 7: Práctica 3 Resolución de ecuaciones no lineales mediante ...tep028/fia/curso_2013_2014/seminario/practica_3... · milésima, resolver, si es posible, la siguiente ecuación por

7

3.- Método de iteración directa

Se emplea en ecuaciones que puedan expresarse de la siguiente forma:

( )x f x

eq. 4

Consiste en suponer un valor inicial de x, que llamaremos x0, lo más próximo

posible al valor solución. Substituimos x0 en la función para recalcular un nuevo valor

de x que llamaremos x1. De nuevo este x1 se substituye en la función para determinar un

x2, y así sucesivamente. Si el valor inicial de x es cercano a la solución de la ecuación,

es posible que tras sucesivas iteraciones, alcancemos un valor constante de x que se será

la solución de la ecuación.

El algoritmo de iteración viene dado por la siguiente expresión

1 ( )n nx f x

eq. 5

La iteración se termina cuando la diferencia entre dos valores sucesivos de x es

en valores absolutos inferior a una precisión, E, previamente establecida.

1n nx x E

eq. 6

Es evidente que si la ecuación tiene más de una solución, habrá que realizar una

iteración para valores cercanos a cada solución.

Se produce la convergencia sólo si la pendiente de la curva en el rango del tanteo

es inferior a la unidad. No obstante, se puede resolver esta cuestión multiplicando toda

la función por un factor constante que haga que se cumpla esta condición.

Problema 3:

Empleando el método de la iteración directa, determina el valor de x que

cumple la ecuación con una precisión superior a la milésima si se parte de un valor

inicial x = 0.5

2log x x x

eq. 7

Solución:

Primero hay que expresar la ecuación de la forma x = f(x):

Page 8: Práctica 3 Resolución de ecuaciones no lineales mediante ...tep028/fia/curso_2013_2014/seminario/practica_3... · milésima, resolver, si es posible, la siguiente ecuación por

8

2 logx x x

eq. 8

Se nos pide que entre valores sucesivos de x, la diferencia en valor absoluto sea

inferior a E = 0.001:

1n nx x E

1 0.001n nx x

Construimos la Tabla 3, donde cada fila representa una iteración sucesiva.

Tabla 3

Iteración, n xn xn+1 Precisión

0 0,500 0,551 0,051

1 0,551 0,562 0,011

2 0,562 0,566 0,004

3 0,566 0,568 0,001

4 0,568 0,568 0,001

5 0,568 0,568 0,000

Se comprueba que en la iteración 5 el valor de x se hace constante con una

precisión inferior a la milésima.

Problema propuesto 4:

Partiendo de un valor de x = 1, x=-1, x=0,9, x=0,1, y estableciendo una precisión de una

milésima, resolver, si es posible, la siguiente ecuación por el método de la iteración

directa:

2 logx x x

Page 9: Práctica 3 Resolución de ecuaciones no lineales mediante ...tep028/fia/curso_2013_2014/seminario/practica_3... · milésima, resolver, si es posible, la siguiente ecuación por

9

4.- Método de Newton

La ecuación debe ser del tipo:

( ) 0f x

eq. 9

El procedimiento consiste en lo siguiente:

1. Partir de un valor x0 (al principio la iteración es n = 0)

2. Calcular f(xn)

3. Comparar el valor absoluto de f(xn) con una precisión establecida E

4. Si no se ha alcanzado la precisión calcular la derivada de la función

en el punto, f’(xn)

5. Calcular el siguiente valor para la iteración (n = n +1) mediante

1

( )

'( )

nn n

n

f xx x

f x

eq. 10

y se repite el proceso continuando en el paso 2 con el nuevo valor

de x hasta alcanzar la precisión establecida.

Problema 4:

Queremos determinar las dos soluciones de la ecuación:

2 20ln 0x x

eq. 11

Sabemos que habrá dos soluciones porque hay un término con x al cuadrado.

Además disponemos de una representación gráfica (Figura 2) que nos indica que

aproximadamente en 1 la función se anula y por tanto se cumple la eq. 11. Se pide

determinar con precisión cuáles son estos valores.

Page 10: Práctica 3 Resolución de ecuaciones no lineales mediante ...tep028/fia/curso_2013_2014/seminario/practica_3... · milésima, resolver, si es posible, la siguiente ecuación por

10

Figura 2

Solución:

La función es:

2( ) 20lnf x x x

eq. 12

y su derivada:

20'( ) 2f x x

x

eq. 13

a) Valor de partida x0 = 7

Se calcula primeramente el valor de la función en este punto inicial.

2(7) 7 20ln7 49 20 1.9459 10.0818f

El valor de la función está muy alejado de cero, por lo que se debe buscar una

nueva “x” mejorada empleando la eq. 10. Se necesita evaluar también la derivada en 7

(Substituyendo en la eq. 13):

20'(7) 2 7 14 2.8571 11.1429

7f

El siguiente valor x1 será entonces:

01 0

1

( ) 10.08187 7 0.9048 6.0952

( ) 11.1429

f xx x

f x

-15

-10

-5

0

5

10

15

20

0 1 2 3 4 5 6 7 8

Page 11: Práctica 3 Resolución de ecuaciones no lineales mediante ...tep028/fia/curso_2013_2014/seminario/practica_3... · milésima, resolver, si es posible, la siguiente ecuación por

11

Calculamos ahora f(6.0952) = 1.0014 que es un valor todavía muy alejado de cero. Se

siguen haciendo iteraciones y tal como se comprueba en la Tabla 4 en la tercera

llegamos a la convergencia con un valor de x = 5.9809

Tabla 4

Iteración, n xn f(xn) f'(xn) xn+1

0 7,0000 10,0818 11,1429 6,0952

1 6,0952 1,0014 8,9091 5,9828

2 5,9828 0,0161 8,6227 5,9809

3 5,9809 -0,0003 8,6178 5,9809

Problema propuesto 5:

Completar el problema 4 anterior, tomando como punto de partida x0 = 0.5 y encontrar

la segunda solución.

Problema propuesto 6:

Partiendo de un x0 = 1,5, resolver mediante el método de Newton y con una precisión

de la millonésima, la siguiente ecuación:

1

xx e

Page 12: Práctica 3 Resolución de ecuaciones no lineales mediante ...tep028/fia/curso_2013_2014/seminario/practica_3... · milésima, resolver, si es posible, la siguiente ecuación por

12

5.- Método de la “Regula Falsi”

La ecuación debe encontrarse también en la ya conocida forma:

( ) 0f x

eq. 14

El método consiste en determinar previamente dos valores de x, a y b. El valor

de a hace que la función sea negativa y el valor de b hace que la función sea

positiva. Esto es análogo al método de la bisección.

( ) 0f a

( ) 0f b

pero ahora el nuevo valor, r, no se toma como media de a y b sino mediante la

expresión siguiente:

( ) ( )

( ) ( )

af b bf ar

f b f a

eq. 15

Se determina el valor de f(r) para comprobar si se acerca a cero con una

precisión E adecuada. Si no es así, se plantea uno de los dos cambios siguientes:

1.- Si f(r) < 0, entonces a = r

2.- Si f(r) > 0, entonces b = r

Se vuelve a calcular un nuevo r según la eq. 15, que si genera un f(r)

suficientemente cercano a cero se acaba el proceso o bien se continua iterando hasta

conseguirlo.

Problema 5:

Se ve a simple vista que la ecuación:

10 10 0xx

Tiene una solución para x = 1, ya que:

110 1 10 10 10 0

Pero hay otra solución no tan evidente que se encuentra entre 0 y 0.5. Se pide

encontrarla.

Page 13: Práctica 3 Resolución de ecuaciones no lineales mediante ...tep028/fia/curso_2013_2014/seminario/practica_3... · milésima, resolver, si es posible, la siguiente ecuación por

13

Solución:

Primero comprobamos si 0 y 0.5 nos pueden servir como el intervalo inicial.

Para ello calculamos f(0) y f(0.5) y comprobamos su signo:

0(0) 10 0 10 0 1 1f

0.5(0.5) 10 0.5 10 5 3.1623 1.8377f

Efectivamente, podemos emplear a = 0 y b = 0.5. Aplicando la eq. 15,

obtenemos el valor, r, de la nueva x: 0.1762. Como f[r]es positivo, b=r. En la tabla se

muestran las iteraciones realizadas que conducen al valor de 0.1371 en la cuata

iteración con un error tan solo de una diezmilésima.

Tabla 5

Iteración, n r f(r) a b f(a) f(b)

0 0,0000 0,5000 -1,0000 1,8377

1 0,1762 0,2616 0,0000 0,1762 -1,0000 0,2616

2 0,1397 0,0173 0,0000 0,1397 -1,0000 0,0176

3 0,1373 0,0011 0,0000 0,1373 -1,0000 0,0012

4 0,1371 0,0001

El método de la “regula falsi” presenta las ventajas del método de la bisección y

del método de Newton juntos.

Problema propuesto 7:

Usar el método de la regula falsi para resolver la siguiente ecuación en el intervalo

[1,2]: 1

xx e

partiendo de x0 =1,5 y con una precisión de la milésima.

Granada, mayo de 2012