PRÁCTICAS DE MATEMÁTICAS II PRÁCTICA 2. Cálculo del orden de convergencia de sucesiones y series Página web de la asignatura: http://personales.unican.es/segurajj/mii.html El objetivo es analizar de forma cuantitativa la rapidez de convergencia de sucesiones y series numéricas utilizando el concepto de orden de convergencia. Dada una sucesión {xn } que converge a α, diremos que el orden de convergencia es p ≥ 1 si el siguiente lı́mite es finito |xn − α| =C n→+∞ |xn−1 − α|p lim Esto quiere decir que para n suficientemente grande tendremos que, aproximadamente, |xn − α| ' C|xn−1 − α|p Vemos que, si la diferencia entre xn y α es pequeña, cuanto más grande sea p más pequeña será la diferencia entre xn+1 y α. De este modo, a mayor p (orden de convergencia), mayor rapidez de convergencia (y también cuanto menor sea C, pero esto es menos importante). Podemos determinar experimentalmente el orden de convergencia de una sucesión de la siguiente forma. Llamando n = |xn − α| y considerando que n+1 ' CPn y que n+2 ' Cpn+1 dividiendo n+2 ' n+1 n+1 n p y tomando logaritmos p' log(n+2 /n+1 ) log(n+1 /n ) (1) Como el orden de convergencia se define para n → +∞ cuanto más grande sea n más sentido tendrá la ecuación (1). 1 Construcción de un programa para calcular órdenes de convergencia El objetivo es construir un programa MATLAB con la siguiente sintaxis: function [p,err]=orden(x,valor) Las entradas son: 1. Un vector [x(1) x(2) ... x(N)] conteniendo los N primeros términos de una sucesión. 2. El valor al que converge la sucesión, α. Las salidas son 1. Los N errores [err(1) ... err(N)], donde err(n)=abs(x(n)-α) 2. Las N − 2 estimaciones del orden de convergencia [p(1) p(2) ... p(N-2)] donde p(n)=log(err(n+2)/err(n+1))/log(err(n+1)/err(n)). Nota: es habitual que no se conozca exactamente el valor exacto del lı́mite, α. En esos casos, se utilizarı́a la mejor estimación disponible (usualmente, el último elemento de la sucesión). En nuestro caso, no tendremos este problema porque vamos a trabajar con sucesiones cuyo lı́mite es conocido. 2 Primeros ejemplos: sucesiones para calcular raı́ces Apliquemos en primer lugar el programa a las sucesiones construı́das en la práctica 1. Consideremos la sucesión xk + α xk+1 = , x1 = α , α ∈ (0, 1) xk + 1 (2) En clase se comprobó que la sucesión es monótona creciente y acotada, luego convergente, y que el √ lı́mite es l = α. √ Tomar, por ejemplo, α = 0.5 y calcular α mediante el programa iter1.m construido en la práctica anterior con una precisión de 10−8 . Repetir para iter2.m y comparar resultados. 3 Orden de convergencia para series numéricas La misma idea se puede aplicar para obtener el orden de convergencia de una serie numérica, definido como el orden de convergencia de la sucesión de sus sumas parciales. P Diremos que una serie convergente +∞ k=1 ak tiene orden de convergencia p si la sucesión de las sumas parciales {Sn }, n X Sn = ak k=1 tiene orden de convergencia p. En esta segunda parte de la práctica, analizaremos el orden de convergencia de varias series que se pueden utilizar para calcular los números log(2) y π. 3.1 Cálculo de log(2) En este curso, demostraremos que ∞ log(2) = 1 − X (−1)k−1 1 1 + − ... = 2 3 k k=1 Se trata de construir el programa iter3.m, con la sintaxis function x=iter3(n) que devuelva las n primeras sumas parciales de la serie en el vector x. Es importante que el programa esté bien organizado para que no se repitan cálculos de forma P innecesaria. As, para calcular la suma k-ésima de la serie ∞ i=1 ai , no hay que sumar cada vez todos los términos, sino tener en cuenta que podemos calcular mediante Sk = Sk−1 + ak (empezando por S1 = a1 ). Se pide obtener el orden de convergencia de la serie utilizando los programas iter3.m (por ejemplo con n = 14) y orden.m Repetiremos el proceso para la serie log(2) = 2 ∞ X 1 1 1 1 + 3 + 5 + ... = 2 3 33 53 (2i − 1)32i−1 i=1 que programaremos en iter4.m. Representaremos en una misma gráfica los valores de p(i) frente a i para las dos series. Comparar las aproximaciones que se obtienen con cada serie. ¿Qué ocurre cuando utilizamos un n más grande?. Probar, por ejemplo, con n = 20. 3.2 Cálculo de π Se pide repetir el proceso para las siguientes series para calcular π (que incluiremos en sendos programas iter5.m, iter6.m). 1. π = 4(1 − 31 + 15 − ...) = 4 ∞ X (−1)i−1 i=1 2. π = 6 (2i − 1) 1+ 1 + 3 35 2 2 3 23 2 4 5 25 + 2 4 6 7 27 + ... =6 ∞ X i=1 (2i − 1)!! (2i − 2)!!(2i − 1)2 22i−1 Representar los dos vectores p(i) para las dos series en una misma gráfica. Considerar n = 20 términos. Comprobar qué ocurre para n más grande, por ejemplo n = 30. P∞ Ayuda: para programar la segunda serie puede ser interesante en la suma i=1 ai encontrar la relación entre ai y ai+1 .