( 3) 2 ( ) 201516 : 1
Método de Newton Se utiliza para resolver ecuaciones de una variable de la forma () =0 siendo una función derivable. Supongamos que tenemos una raíz de esta ecuación, es decir () =0. Entonces, en líneas generales, se puede construir una sucesión de puntos 0 1 2 de manera que su límite es la raíz. El punto 0 puede elegirse con cierta libertad. Deben darse una serie de condiciones teóricas para que esto se verifique. Condiciones que suelen darse si se toman ciertas medidas de precaución. No obstante, no hay una total seguridad del método. Aún cumpliéndose dichas condiciones no está asegurada la convergencia. La precaución que debemos tener es básicamente que el punto inicial 0 esté próximo a la raíz. Para cerciorarnos de ello podemos utilizar el Teorema de Bolzano (puede utilizarse porque es continua), para encontrar un intervalo razonablemente pequeño en cuyos extremos experimente variación de signo. Así: a) Hallaremos a b (cercanos entre sí) tales que f(a) y f(b) tengan signos contrarios. b) Después elegiremos 0 en dicho intervalo. c) Hallamos la intersección ( 1 0) de la recta tangente en 0 adichacurvaconelejeox. La siguiente igualdad nos proporciona el valor de 1 : 1 = 0 ( 0) 0 ( 0 ) d) Hallamos la intersección ( 2 0) de la recta tangente en 1 adichacurvaconelejeox. Determinamos 2. 2 = 1 ( 1) 0 ( 1 ) e) Hallamos la intersección ( 3 0) de la recta tangente en 2 adichacurvaconelejeox. Determinamos 3. 3 = 2 ( 2) 0 ( 2 )... Y así sucesivamente. Para hacer los cálculos, lo más cómodo es definir una función para realizar las iteraciones. Si escribimos: () = () 0 () tendremos que para cada n se tiene que = ( 1 ) 2
Otra cuestión que puede condicionar la convergencia es que haya una raíz de 0 cerca de (o que el propio sea también raíz de 0 ). Esto ocasionaría que el denominador pudiera ser próximo a 0. Una gráfica de la función nos puede facilitar la visualización de esta cuestión y saber si estamos ante una de éstas situaciones. La gráfica sirve además para tener una aproximación visual de la raíz. Ejemplo 1 : Obtengamos, de modo aproximado, la raíz de la ecuación 3 +3 +6=0 Las gráficas de la función () = 3 +3 +6 aplicando varios zoom sucesivos, para aproximarnos a la única raíz nos muestran que ésta se encuentra entre 1 4 y 1 2. Definimos la función () = () 0 () Así, si elegimos por ejemplo 0 = 1 4, tendremos: 1 = ( 0 )= 129369; 2 = ( 1 )= 128793; 3 = ( 2 )= 128791; 4 = ( 3 )= 128791; Yvemosqueapartirde 3 se mantienen fijos esos primeros cinco decimales que son los de la raíz. Esto nos dice que el valor aproximado de la raíz es 1 28791. El comando newton de Maxima: Dicho comando sirve para calcular directamente la solución de una ecuación por el método de Newton. Se debe cargar primero el paquete newton1. Su formulación es: load(newton1) newton((), 0,) donde 0 es el valor inicial y una cota de () que debemos conseguir para considerar como raíz aproximada de f(x). En nuestro ejemplo anterior pondríamos así : load(newton1) newton( x^3 + 3*x + 6, x, -1.4, 0.001) {x - -1.28791} Y, como vemos, nos sale nuestra raíz. Nota : Esta raíz es la única de la ecuación, como consecuencia del Teorema de Rolle, teniendo en cuenta que la derivada de la función es 3 2 +3 que no se anula en ningún punto. Ejemplo 2.- Utilizando el método de Newton vamos a obtener la solución positiva de la ecuación 1+ = : En primer lugar definimos () =1+ 3
Las gráficas de () en intervalos cada vez más pequeños conteniendo a la raíz positiva, muestran que dicha raíz está próxima a 0 5 Usamos el comando newton : newton(h(x), x, 0.5, 0.001) {x - 0.601367} que nos da el valor aproximado de la raíz. Como ya se cargó newton1 en el primer ejemplo, no es necesario volver a cargarlo en tantonosereinicieelprograma. Ejemplo 3 Utilizando el método de Newton vamos a obtener la mayor solución de la ecuación sin = : En primer lugar definimos () =sin Las gráficas de () en intervalos cada vez más pequeños conteniendo a la mayor raíz, muestran que dicha raíz está próxima a 3 (entre -3,5 y -3). Usamos el comando newton: newton(i(x), x, -3, 0.0001) {x - -3.18306 que nos da el valor aproximado de la raíz. Ejercicio 1.- Obtén las raíces del polinomio 3 +5 2 3 6. Utilizando el método de Newton observa qué solución sale partiendo de: a) 0 = 7 b) 0 =8 c) 0 =5 Ejercicio 2.- Obtén las raíces del polinomio 4 +7 2 3 6. Utilizando el método de Newton observa qué solución sale partiendo de: a) 0 = 4 b) 0 =05 c) 0 =1 d) 0 =5 Ejercicio 3.- Obtén las soluciones de la ecuación () =2 Ejercicio 4.- Justifica que la ecuación () = tiene una única solución y determínala. 4
Integración numérica Cuando solamente se conocen algunos valores particulares de una función () o cuando siendo ésta conocida, no se dispone de una primitiva expresada convenientemente, se utilizan métodos numéricos para obtener un valor aproximado de la integral R (). Supondremos dividido el intervalo [ ] en partes iguales de longitud = mediante los puntos = 0 1 2 1 =, y supondremos conocidos los valores 0 = ( 0 ) 1 = ( 1 ) = ( ). Regla de los trapecios compuesta a) Determinamos la función de interpolación lineal () que cumple ( 0 )= 0 ( 1 )= 1. Por pasar por los puntos ( 0 0 ) ( 1 1 ) la gráfica de () es una recta de pendiente 1 0 1 0.Porlotantoes() = 0 + 1 0 1 0 ( 0 ). R 1 b) Calculamos () : 0 R 1 R ³ () = 1 0 + 1 0 1 0 ( 0 ) = ( 2 0 + 1 ). 0 0 R 1 Nota.- Si 0 1 0 () coincide con el área del trapecio rectángulo de bases 0 paralelas al eje de longitudes 0 1,yalturasituadaeneleje coincidente con el intervalo [ 0 1 ] de longitud. c) Consideramos ahora la integral R () quequeremosaproximar. R () = R 1 R 2 R () + () + + () 0 1 1 En cada una de las integrales sumandos reemplazamos () por la función de interpolación lineal correspondiente a ( 0 0 ) ( 1 1 ) en la primera, a ( 1 1 ) ( 2 2 ) en la segunda,..., a ( 1 1 ) ( ) en la última, obteniendo la suma 2 ( 0 + 1 )+ 2 ( 1 + 2 )+ + 2 ( 1 + )= = 2 [ 0 +2 1 +2 2 + +2 1 + ] Nota.- Si () 0 [ ] el método de los trapecios consiste en aproximar el área bajo la curva por la suma de las áreas de los trapecios rectángulos con altura de longitud coincidente con el intervalo [ 1 ] del eje con las dos bases paralelas al eje de longitudes 1, y con lado oblicuo igual a la cuerdaqueunelospuntosdelagráfica de coordenadas ( 1 1 ) ( ). 5
R Ejemplo.- Aproximar 3 1 con el método de los trapecios compuesto dividiendo el intervalo [1 3] : a) En 5 partes iguales. b) En 10 partes iguales. c) En 50 partes iguales. Comparar el resultado de cada apartado, con el que se obtiene con el comando integrate de Maxima. A continuación se reproducen las sentencias utilizadas para resolver el apartado b) del ejemplo. Notar que para los demás apartados basta cambiar en la línea primera el valor de n y activar a continuación todas las demás. Para cualquier otro ejemplo o ejercicio, será suficiente con modificar las líneas en las que se introducen los valores de () y activar las demás instrucciones. %i1n:10 %i2a:1 %i3b:3 %i4a:makelist(2,i,1,n+1) % i5 f(x): = exp(x)/x % i6 p: makelist(a + i*((b-a)/n), i, 0, n) % i7 q: makelist(f(p[i]), i, 1, n + 1) % i8 h: (b-a)/n %i9t:float((h/2)*((a.q) - q[1] - q[n + 1])) % o9 8.053574483704775 % i10 quad_qag(exp(x)/x,x,1,3,1) % o10 [8.038714754269481,4.0464859492404957*10^-9,15,0] 1 Siendo quad_qag un comando para integración numérica en Maxima. El 1 que se coloca detrás de los extremos 1, 3, del intervalo de la integral es una opción elegida desde el 1 al 6 según el método numérico de cuadratura empleado. De los 4 números que aparecen ene el resultado, el primero es el valor aproximado de la integral (comparar con T), el segundo es el error absoluto estimado de la integración, el tercero el número de evaluaciones del integrando,yelcuarto,uncódigodeerrorquepuedevalerl0,1,2,3,6.cuandoelvalores 0, significa que no ha habido ningún problema en el proceso. R Ejercicio.- Aproximar 2 3 +1 con el método de los trapecios compuesto dividiendo el intervalo [ 1 2] : a) En 8 partes iguales. b) En 15 partes iguales. c) En 30 partes iguales. Comparar el resultado de cada apartado, con el que se obtiene con el comando integrate (o quad_qag si fuera necesario) de Maxima. 6
Regla de Simpson compuesta a) Determinaremos la función de interpolación cuadrática () que cumple ( 0 )= 0 ( 1 )= 1 ( 2 )= 2. () puede expresarse en la forma: () = + ( 0 )+( 0 )( 1 ) para ciertos números reales, por ser {1 ( 0 ) ( 0 )( 1 )} una base del espacio vectorial real P 2 de los polinomios con coeficientes reales de grado menor o igual que dos. Determinemos y : ( 0 )= = 0 ( 1 )= + ( 1 0 )= 1 = 1 0 1 0 = 1 0 ( 2 )= 0 + 1 0 ( 2 0 )+( 2 0 )( 2 1 )= 2 2 0 = 1 0 2 + 2 2 2 2 1 + 0 ==2 2 = 2 2 1 + 0. Y así es: 2 2 () = 0 + 1 0 ( 0 )+ 2 2 1 + 0 ( 2 2 0 )( 1 ) R 2 b) Calculemos (). Hacemos el cambio de variables = + 1. Tendremos 0 entonces: R 2 R () = R ( + 1 ) = 0 + 1 0 ( + )+ 2 2 1 + 0 ( + ) =[ 2 2 0 ] + 0 h i h i 1 0 (+) 2 + 2 2 1 + 0 3 + 2 = [ 2 2 2 3 2 3 0 +4 1 + 2 ] R c) Supondremos que nespar, y sea R R 2 R 4 () la integral que queremos aproximar. () = () + () + + (). En cada una de las integrales 0 2 2 sumando, reemplazamos () por la función de interpolación cuadrática correspondiente a los puntos ( 0 0 ) ( 1 1 ) ( 2 2 ) en la primera, a ( 2 2 ) ( 3 3 ) ( 4 4 ) en la segunda,..., a ( 2 2 ) ( 1 1 ) ( ) en la última. Obteniendo así la suma: [ 3 0 +4 1 + 2 ]+ [ 3 2 +4 3 + 4 ]++ [ 3 2 +4 1 + ]= [ 3 0 +4 1 +2 2 +4 3 +2 4 + 4 5 +2 6 + +2 2 +4 1 + ]= = [ +4 +2 ] 3 donde representa la suma de los valores extremos, representalasumadelosvaloresde índice impar (que son los valores de lugar par por ser 0 el primer subíndice), y representa la suma de los valores de índice par (que son los valores de lugar impar ). Ejemplo.- Aproximar con el método de Simpson compuesto dividiendo el intervalo [1 3] : a) En 10 partes iguales. R 3 1 R 7
b) En 50 partes iguales. Comparar el resultado de cada apartado, con el que se obtiene con el comando quad_qag de Maxima (ver ejemplo anterior). A continuación se reproducen las sentencias utilizadas para resolver el apartado a) del ejemplo. Notar que para el apartado b) basta cambiar en la línea primera el valor de n y activar a continuación todas las demás. Para cualquier otro ejemplo o ejercicio, será suficiente con modificar las líneas en las que se introducen los valores de () yactivarlas demás instrucciones. %i1n:10 %i2a:1 %i3:b:3 %i4a:makelist((-1)^i+3,i,1,n+1) % o4 {2, 4, 2, 4, 2, 4, 2, 4, 2, 4, 2} % i5 f(x):= exp(x)/x % i6 p: makelist(a + i*((b-a)/n), i, 0, n) % o6 {1, 6/5, 7/5, 8/5, 9/5, 2, 11/5, 12/5, 13/5, 14/5, 3} % i7 q: makelist(f(p[i]), i, 1, n + 1) % i8 h : (b-a)/n % o8 (1/5) %i9s:float((h/3)*(a.q - q[1] - q[n + 1])) % o9 8.038785083553591 % i10 quad_qag(exp(x)/x,x,1,3,1) % 10 [8.038714754269481,4.0464859492404957*10^-9,15,0] R Ejercicio.- Aproximar 2 1 3 +1 con el método de Simpson compuesto dividiendo el intervalo [ 1 2] : a) En 10 partes iguales. b) En 50 partes iguales. Comparar el resultado de cada apartado, con el que se obtiene con el comando quad_qag de Maxima. 8
Polinomio de interpolación de Lagrange Denominamos interpolación a la obtención de nuevos puntos partiendo del conocimiento de un conjunto finito de puntos. En algunas ciencias es frecuente disponer de un cierto número de puntos obtenidos por muestreo o a partir de un experimento y pretender construir una función que los ajuste. Otro problema estrechamente ligado con el de la interpolación es la aproximación de una función complicada por una más simple. Si tenemos una función cuyo cálculo resulta costoso, podemos partir de un cierto número de sus valores e interpolar dichos datos construyendo una función más simple. En general, por supuesto, no obtendremos los mismos valores evaluando la función obtenida que si evaluásemos la función original, si bien dependiendo de las características del problema y del método de interpolación usado la ganancia en eficiencia puede compensar el error cometido. En todo caso, se trata de, a partir de n+1 puntos ( ), obtener una función f que verifique ( )= para =01 Dentro de las formas de interpolación que se utilizan con frecuencia una de ellas es la interpolación polinómica. Se trata de que la función interpoladora anterior, f, sea un polinomio (que pase por los puntos dados). Y de entre ellas aquí vamos a ver la interpolación de Lagrange. El polinomio interpolador de Lagrange, L, que pasa por n+1 puntos dados, tiene grado menor o igual que n, y se construye del siguiente modo: ApartirdelospolinomiosdeLagrange () para =01 definidos por: ( () = 0 )( 1 )( 1 )( +1 )( ) ( 0 )( 1 )( 1 )( +1 )( ) construimos el polinomio interpolador () determinado por la igualdad: () = 0 0 ()+ 1 1 ()+ ()+ + (). Como los polinomios de Lagrange cumplen la condición ( )=1si =, y0 en caso contrario, el polinomio interpolador () verifica: ( )= para =012. Ejemplo a.- Hallemos el polinomio interpolador para los puntos 0 =(00) 1 =(11) 2 =(32) Definimos los polinomios de Lagrange: 0 () := ( 1) ( 3) ; (0 1) (0 3) 1() := ( 0) ( 3) ; (1 0) (1 3) y finalmente el polinomio interpolador de Lagrange: 2() := ( 0) ( 1) (3 0) (3 1) () :=0 0 () +1 1 () +2 2 (). Paradesarrollarloysimplificarlo escribimos: ratsimp(la(x)) obteniendo: 2 7. 6 (ratsimp es para simplificar expresiones racionales. Con fullratsimp la simplificación es a veces más eficaz, pero a costa de más tiempo). 9
Ahora comprobamos que el polinomio es el que buscábamos. Escribimos: La(0); La(1); La(3); obteniendo: 0 1 2 que son los valores esperados. Ejemplo b.- Hallemos el polinomio interpolador para los puntos (0, 2), (1, 1) y (2, 0) Definimos los polinomios de Lagrange: 0 () := ( 1) ( 2) ; (0 1) (0 2) 1() := ( 0) ( 2) ; (1 0) (1 2) 2() := ( 0) ( 1) (2 0) (2 1) y finalmente el polinomio interpolador de Lagrange: () :=2 0 () +1 1 () +0 2 (). Para desarrollarlo y simplificarlo escribimos: ratsimp(lb(x)) obteniendo: 2. En este caso el polinomio es de grado menor que dos por estar los tres puntos alineados. Ahora comprobamos que el polinomio es el que buscábamos. Escribimos: Lb(0); Lb(1); Lb(2); obteniendo: 2, 1, 0 como esperábamos. Ejemplo c.- Hallemos el polinomio interpolador para los puntos (1, -3), (3, -1), (-2, 0) y (4, 2). DefinimoslospolinomiosdeLagrange: 0 () := ( 3) (+2) ( 4) ; (1 3) (1+2) (1 4) 3 () := ( 1) ( 3) (+2) (4 1) (4 3) (4+2) 1() := ( 1 (+2) ( 4) (3 1) (3+2) (3 4) ; 2() := ( 1) ( 3) ( 4) ( 2 1) ( 2 3) ( 2 4) ; Y finalmente el polinomio interpolador de Lagrange () = 3 0 () 1 ()+0 2 ()+2 3 () ratsimp(lc(x)) obteniendo 23 +14 2 37 114. 45 Lc(1) Lc(3) Lc(-2) Lc(4) Resultando:-3,-1,0,2 Como vemos el polinomio cumple con lo previsto, pasa por los 4 puntos dados (1, -3), (3, -1), (-2, 0) y (4, 2). Ejemplo d.- 10
Hallemos el polinomio interpolador de la función () = 3 2 +6 1+ 2 que pasa por los puntos (-1, f(-1)), (0, f(0)), (1, f(1)), (2, f(2)), es decir, (-1, 2), (0, 6), (1, 3), (2, 2). DefinimoslospolinomiosdeLagrange: 0 () := ( 0) ( 1) ( 2) ( 1 0) ( 1 1) ( 1 2) ; 3 () := (+1) ( 0) ( 1) (2+1) (2 0) (2 1) 1() := (+1) ( 1) ( 2) (0+1 (0 1) (0 2) ; 2() := (+1) ( 0) ( 2) (1+1) (1 0) (1 2) ; Y finalmente el polinomio interpolador de Lagrange: () =2 0 ()+6 1 ()+ 3 2 ()+2 3 (). Escribimos: ratsimp(ld(x)) Y obtenemos: 3 3 7 2 2+12 2 Ld(-1) Ld(0) Ld(1) Ld(2) Resultando:2,6,3,2. Como vemos el polinomio cumple con lo previsto, pasa por los 4 puntos dados, (-1, 2), (0, 6), (1, 3), (2, 2). Ejercicio 1 Calcular el polinomio interpolador de Lagrange que pasa por los puntos (3, 1), (2, 3), (-1, 2), (-2, 0). Ejercicio 2 Calcular el polinomio interpolador de Lagrange que pasa por los puntos (1, 1), (2, 2), (3, 3), (-2, 0), (4, 1). Ejercicio 3 Calcular el polinomio interpolador de Lagrange que pasa por los puntos (3, f(3)), (-2, f(-2)), (-1, f(-1)), (0, f(0)), donde f(x) =. Ejercicio 4 Se sabe que una función f pasa por los puntos (0, 5), (3, -2), (1, -1), (4, 0). Utilizar el polinomio interpolador de Lagrange que pasa por dichos puntos para estimar el valor de la función en =2. Ejercicio 5 Utilizar el polinomio interpolador de Lagrange que pasa por los puntos (3, f(3)), (2, f(2)), (-1, f(-1)), (1, f(1)), donde f (x) = 32 para estimar el valor f(4). Comparar el valor de la +10 aproximación con el valor real. 11
Ecuaciones Diferenciales La solución general de las ecuaciones diferenciales de primero y segundo orden se obtiene con la instrucción ode2. La forma de empleo es: ode2(ecuación, variable dependiente, variable independiente) Ejemplo 1.- ode2( diff(y,x) = y/x, y, x). La tilde antes de diff se encuentra en el tecladobajoelsímbolo?. Ejemplo 2.- ode2( diff(y,x,2)-5* diff(y,x)+6*y = x, y, x); Para resolver problemas de valor inicial o de condiciones iniciales, se utilizan los comandos ic1, yic2, según se trate de ecuaciones de primer o de segundo orden. La escritura es : ic1(ode2(ecuación, variable dependiente, variable independiente), x = a, y = b) otambién: ic1(%, x = a, y = b) haciendo referencia con % a la última salida con la solución general de la ecuación de primer orden de que se trate. Para las ecuaciones de orden dos, la escritura es muy similar: ic2(ode2(ecuación, variable dependiente, variable independiente), x = a, y = b, diff(y, x)= c) otambién: ic2(%, x = a, y = b, diff(y, x)= c) haciendo referencia con % a la última salida con la solución general de la correspondiente ecuación de segundo orden. Ejemplo 3.- ic1(ode2( diff(y,x) = y/x, y, x), x = 1, y = 5) Ejemplo 4.- ic2(ode2( diff(y,x,2)-5* diff(y,x)+6*y=x, y, x), x=1, y=3, diff(y,x) =0) La función bc2 se emplea para resolver problemas de condiciones de frontera para ecuaciones difrenciales de segundo orden. La forma de empleo es: bc2(ode2(ecuación,variabledependiente,variableindependiente),x=val1,y=val1,x=val2,y=val2) obien bc2(%,x=val1,y=val1,x=val2,y=val2) 12
haciendo referencia con % a la última salida con la solución general de la correspondiente ecuación de segundo orden. Ejemplo 5.- bc2(ode2( diff(y,x,2)-5* diff(y,x)+6*y = x, y, x), x = -1, y = 3, x=1,y=-2) Ejercicio 1.- Resuelve las ecuaciones diferenciales: ) ( + 2 ) 2 =0 ) 0 + = 2 ln() ) +2 0 =3(2)+cos() ) 2 + 0 =0 ) 2 0 + =2 Ejercicio 2.- Resuelve los problemas de condiciones iniciales: ) + =2 cos() (0) = 1 0 (0) = 0 ) 2 0 +2 =4 cos() () = 0 () = 13