22
1 Solución de ecuaciones no lineales con una variable. Definición del problema:El problema se puede expresar de la siguiente manera: encontrar el valor de x * tal que . Cuando en f hay términos no lineales la solución no es sencilla. p. ej: Como encontramos los ceros? f x = 0 f x = 3x 5 x 3 7x 4 f x = e x sin x ln 5x x 4 f x = 3x 5 x 3 7x 4 7x 3 x 2 4x 1 x :f x = 0

Solución de ecuaciones no lineales con una variable.gonzart/lp/notas/Metodos_Numericos_1var.pdf · 2 Solución de ecuaciones no lineales con una variable. Solución al problema

  • Upload
    others

  • View
    12

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Solución de ecuaciones no lineales con una variable.gonzart/lp/notas/Metodos_Numericos_1var.pdf · 2 Solución de ecuaciones no lineales con una variable. Solución al problema

1

Solución de ecuaciones no lineales con una variable.● Definición del problema:El problema se puede

expresar de la siguiente manera: encontrar el valor de x* tal que . Cuando en f hay términos no lineales la solución no es sencilla. p. ej:

Como encontramos los ceros?

f x✳=0

f x =3x5−x37x−4f x =e−x sin x ln 5xx4

f x=3x5−x37x−47x3−x24x1

x✳ : f x✳ =0

Page 2: Solución de ecuaciones no lineales con una variable.gonzart/lp/notas/Metodos_Numericos_1var.pdf · 2 Solución de ecuaciones no lineales con una variable. Solución al problema

2

Solución de ecuaciones no lineales con una variable.

● Solución al problema. Existen varios métodos, p.e:– Método de Bisección.– Método de Punto Fijo.– Método de Newton-Raphson.– Etc.

● No hay un método general, dependiendo del conocimiento que tengamos del problema podemos elegir alguno de ellos.

Page 3: Solución de ecuaciones no lineales con una variable.gonzart/lp/notas/Metodos_Numericos_1var.pdf · 2 Solución de ecuaciones no lineales con una variable. Solución al problema

3

Método de Bisección(sol.).● Solución al problema: El método se basa en el conocimiento

de dos puntos, los cuales sabemos que están entre una raíz de la función a analizar:

En este caso x1 y x

2 son los puntos necesarios para

encontrar la solución x1*; x

2 y x

3 para la solución x

2*; x

3 y x

4

para la solución x3*

Page 4: Solución de ecuaciones no lineales con una variable.gonzart/lp/notas/Metodos_Numericos_1var.pdf · 2 Solución de ecuaciones no lineales con una variable. Solución al problema

4

Método de Bisección (Solución cont.).

● Dados f(x) y los dos puntos de arranque, se asume que la solución está justo al centro de estos dos puntos.

xm=xDx I

2

Page 5: Solución de ecuaciones no lineales con una variable.gonzart/lp/notas/Metodos_Numericos_1var.pdf · 2 Solución de ecuaciones no lineales con una variable. Solución al problema

5

Método de Bisección (Solución cont.).

● Si la suposición es falsa: . Se revisa el signo de y se elige para ser sustituido el punto donde la evaluación en f tenga el mismo signo. (de esta manera se asegura tener a la solución entre x

d y x

i).

– Se vuelve a calcular el punto medio y se repite el paso anterior hasta convergencia.

● Si la suposición es cierta: ,o se cumple algún otro criterio de paro, se termina el programa.

∣ f xm∣≥ ff xm

∣ f xm∣ f

Page 6: Solución de ecuaciones no lineales con una variable.gonzart/lp/notas/Metodos_Numericos_1var.pdf · 2 Solución de ecuaciones no lineales con una variable. Solución al problema

6

Método de Bisección (Algoritmo.).● Se define el criterio de convergencia cc 1e-4

Se define el criterio de exactitud ce 1e-4Se define el critero de itermax itmax 100000Se declaran las variables fm,fi,fd,xi,xd,xm,xma;Se declara it como enterose asigna a it=0;lee los valores de xi y xd;asigna a xm=1e20;repite:

asigna a xma=xm;asigna a xm=(xi+xd)/2.0;asigna a fi=f(xi);asigna a fd=f(xd);asigna a fm=f(xm);si fi*fm>=0

asigna a xi=xm;si no si fd*fm>0

asigna a xd=xm;si no

imprime la solucion no está entre xi y xd;asigna a it=itmax;

se asigna a it=it+1;mientras que abs(fm)>ce y abs(xma-xm)>cc y it<itmax ;imprime el valor de xm y el valor de fm;fin del programa;

Page 7: Solución de ecuaciones no lineales con una variable.gonzart/lp/notas/Metodos_Numericos_1var.pdf · 2 Solución de ecuaciones no lineales con una variable. Solución al problema

7

Método de Bisección.● Programa: Ver la tarea 6.● Verificación:

Primera corrida: xi=-3, xd=-1. Segunda corrida: xi=-1, xd=4.

corrida: xi=1, xd=2.

f x= x−3x2=x2−x−6

f x=x32x210x−20

Page 8: Solución de ecuaciones no lineales con una variable.gonzart/lp/notas/Metodos_Numericos_1var.pdf · 2 Solución de ecuaciones no lineales con una variable. Solución al problema

8

Método de Punto Fijo.

● Definición del problema:encontrar el valor de x* tal que .

● Solución al problema: Transformar algebraicamente:

Se logra despejando a una x de f(x)

f x✳=0

f x=0g x=x

Page 9: Solución de ecuaciones no lineales con una variable.gonzart/lp/notas/Metodos_Numericos_1var.pdf · 2 Solución de ecuaciones no lineales con una variable. Solución al problema

9

Método de Punto Fijo.● Por ejemplo

f x=2x2−x−5=0x=2x2−5=g x

x= x52

=g x

x=x2x2−x−54x−1

=g x

x= 52x−1

=g x

Page 10: Solución de ecuaciones no lineales con una variable.gonzart/lp/notas/Metodos_Numericos_1var.pdf · 2 Solución de ecuaciones no lineales con una variable. Solución al problema

10

Método de Punto Fijo.● Una vez escrita la forma equivalente hay que

identificar un punto cercano a la raíz de interés, se puede hacer por observación, graficando la función, etc. A este punto se le llama punto de arranque x

0.

● Con x0 se calcula x

1 de la siguiente manera

de forma general:

x1=g x0

xi1=g xi

Page 11: Solución de ecuaciones no lineales con una variable.gonzart/lp/notas/Metodos_Numericos_1var.pdf · 2 Solución de ecuaciones no lineales con una variable. Solución al problema

11

Método de Punto Fijo (convergencia).

● Si el valor de ó hemos llegado a una solución.

● Si no, iterar nuevamente los pasos anteriores. ● Algunas veces la elección de g(x) hará que

consigamos llegar a la raíz, otras no, por que?.

f x ≤ f ∣xi1−x i∣≤x

xi1=g xix✳=g x✳

x✳−xi1=g x✳−g xi

Page 12: Solución de ecuaciones no lineales con una variable.gonzart/lp/notas/Metodos_Numericos_1var.pdf · 2 Solución de ecuaciones no lineales con una variable. Solución al problema

12

Método de Punto Fijo (convergencia).

● Usando el teorema del Valor Medio, asumiendo que en el intervalo [a,b] g es continua y diferenciable en (a,b), entonces:

∃∈a ,b tal que g ' = g b−g ab−a

g ' =g x✳−g xix✳−xi

g ' x✳−xi=g x✳−g xi

g ' x✳−xi=x✳−xi1

∣x✳−xi1∣=∣g ' ∣∣x✳−x i∣

Page 13: Solución de ecuaciones no lineales con una variable.gonzart/lp/notas/Metodos_Numericos_1var.pdf · 2 Solución de ecuaciones no lineales con una variable. Solución al problema

13

Método de Punto Fijo (convergencia).

● Note que el primer término es el EA en la iteración i+1 y el término de la extrema derecha es EA de la i-esima iteración. Entonces solo si se consigue que el error vaya disminuyendo.

● Para asegurar convergencia es necesario asegurar que para cada valor de x en el intervalo (a,b) la derivada sea menor a 1.

∣g ' x∣1

Page 14: Solución de ecuaciones no lineales con una variable.gonzart/lp/notas/Metodos_Numericos_1var.pdf · 2 Solución de ecuaciones no lineales con una variable. Solución al problema

14

Método de Punto Fijo (Algoritmo.).

● Se define el criterio de convergencia cc 1e-4Se define el criterio de exactitud ce 1e-4Se define el criterio de itermax itmax 100000Se declaran las variables x0,xi,xim1,fxi,fxim1;Se declara it como enterose asigna a it=0;lee el valor de x0;asigna a xi=x0;asigna a fxi=f(x0);repite:

asigna a xim1=xi;asigna a fxim1=fxi;asigna a xi=g(xim1);asigna a fxi=f(xi);asigna a it=it+1;

mientras que abs(fxi)>ce y abs(xi-xim1)>cc y it<itmax;imprime el valor de xi y el valor de fxi;fin del programa;

Page 15: Solución de ecuaciones no lineales con una variable.gonzart/lp/notas/Metodos_Numericos_1var.pdf · 2 Solución de ecuaciones no lineales con una variable. Solución al problema

15

Método de Punto fijo.● Programa:

punto_fijo.c en:

http:\\www.ifug.ugto.mx\~gonzart\notas\punto_fijo.chttp:\\www.ifug.ugto.mx\~gonzart\notas\punto_fijo2.c

● Verificación:–

Punto de arranque: -3Punto de arranque: 4

Punto de arranque =1.2

f x= x−3x2=x2−x−6=0 ; x= x6x

=g x

cos x−3x=0 ; x=cos x/3=g x

Page 16: Solución de ecuaciones no lineales con una variable.gonzart/lp/notas/Metodos_Numericos_1var.pdf · 2 Solución de ecuaciones no lineales con una variable. Solución al problema

16

Método de Newton-Raphson.● Definición del problema:encontrar el valor de x*

tal que .● Solución al problema: aproximar f(x) con una

linea y ver donde la linea intersecta al eje x.

f x✳=0

Page 17: Solución de ecuaciones no lineales con una variable.gonzart/lp/notas/Metodos_Numericos_1var.pdf · 2 Solución de ecuaciones no lineales con una variable. Solución al problema

17

Método de Newton-Raphson.● La linea seleccionada es la tangente que pasa

por el punto xi. Y su intersección será en nuevo

valor de x, esto se repite hasta el criterio de paro.

– Como se calcula el nuevo valor de x?.La recta tiene la pendiente:

m= f ' x i

Page 18: Solución de ecuaciones no lineales con una variable.gonzart/lp/notas/Metodos_Numericos_1var.pdf · 2 Solución de ecuaciones no lineales con una variable. Solución al problema

18

Método de Newton-Raphson.– La recta tendrá la ecuación:

– La intersección con el eje x se da en y=0.

y− f xi= f ' xix−xi

0− f xi= f ' xix−xi

x=xi−f xif ' xi

xi1=xi−f xif ' xi

si f ' xi≠0

Page 19: Solución de ecuaciones no lineales con una variable.gonzart/lp/notas/Metodos_Numericos_1var.pdf · 2 Solución de ecuaciones no lineales con una variable. Solución al problema

19

Método de Newton-Raphson.● En el método de Newton-Raphson necesitamos saber,

f(x), f'(x) y un punto de arranque.● Limitaciones: el algoritmo solo se aplica para funciones

que son derivables, el método fallará cuando xi se

localice en un mínimo o máximo.

Page 20: Solución de ecuaciones no lineales con una variable.gonzart/lp/notas/Metodos_Numericos_1var.pdf · 2 Solución de ecuaciones no lineales con una variable. Solución al problema

20

Método de Newton-Raphson (Algoritmo).● Se define el criterio de convergencia cc 1e-4Se define el criterio de exactitud ce 1e-4Se define el criterio de itermax itmax 100000Se declaran las variables x0,xi,xiM1,fxi,fxiM1,dfxi;Se declara it como enterose asigna a it=0;lee el valor de x0;asigna a xiM1=x0;asigna a fxiM1=f(xiM1);repite:

asigna a xi=xiM1;asigna a fxi=fxiM1;//evaluación de la derivada en el punto xiasigna a dfxi=f'(xi);asigna a xiM1=xi-fxi/dfxi;//evaluación de la funcion f en el punto xiM1asigna a fxiM1=f(xiM1);asigna a it=it+1;

mientras que abs(fxiM1)>ce y abs(xi-xiM1)>cc y it<itmax;imprime el valor de xiM1 y el valor de fxiM1;fin del programa;

Page 21: Solución de ecuaciones no lineales con una variable.gonzart/lp/notas/Metodos_Numericos_1var.pdf · 2 Solución de ecuaciones no lineales con una variable. Solución al problema

21

Método de Newton-Raphson.● Programa: Ver la tarea 7.● Verificación:

–Punto de arranque: -3Punto de arranque: 4

Punto de arranque =1.2

f x= x−3x2=x2−x−6=0 ; f ' x=2x−1

f x=cos x−3x=0 ; f ' x=−sin x−3

Page 22: Solución de ecuaciones no lineales con una variable.gonzart/lp/notas/Metodos_Numericos_1var.pdf · 2 Solución de ecuaciones no lineales con una variable. Solución al problema

22

Puntos de Arranque● Como conseguir un “buen” punto de arranque?.

– Si la función tiene algún significado físico, usar el conocimiento del fenómeno.

– Graficar la función f(x) y por observación elegir el punto de arranque. Si no se tiene un graficador usar las técnicas de calculo diferencial.