UNIVERSIDAD NACIONAL AUNTONOMA DE MEXICO FACULTAD DE CIENCIAS POSGRADO EN CIENCIAS MATEMATICAS ANALISIS NUMERICO PROF. DR. PABLO BARRERA ALUMNO GONZALO PEREZ DE LA CRUZ 1 Tabla de contenido INTEGRACION NUMERICA: REGLAS COMPUESTAS......................................................................................3 Problema y soluciones encontradas ........................................................................................................3 Problema con las soluciones encontradas y una solución a éste.............................................................5 Elección de N (Numero de intervalos) .....................................................................................................8 Ejemplo....................................................................................................................................................9 Conclusiones..........................................................................................................................................12 Anexo.....................................................................................................................................................13 2 INTEGRACION NUMERICA: REGLAS COMPUESTAS Problema y soluciones encontradas -Problema: Estimar -Soluciones encontradas Las reglas básicas (regla del rectángulo, del punto medio, del trapecio, de Simpson y del trapecio corregido) se derivan de manera que la integral de un polinomio sea la aproximación a la integral de la función, el grado del polinomio se elige, y una vez elegido este, el polinomio se elige de manera que el error que se comete sea “fácil de calcular o expresar” considerando ciertas propiedades de , así pues estas reglas requieren que se conozcan o puedan calcular los valores de la función a integrar , en y en algunos casos en el valor de en , además para el caso de la regla del trapecio corregido que se conozca . Todas las reglas básicas mencionadas a excepción de la del trapecio corregido se pueden expresar como: Donde son pesos que no dependen de la función y los puntos son puntos equidistantes. Una de las características de estas reglas es que dan el valor exacto de la integral para polinomios de grado . La idea básica para derivar las reglas gaussianas es tener la característica anterior pero para polinomios de grado escogiendo los puntos de manera adecuada. Para esto se reescribe como: 3 Donde es una función de peso que es integrable y no negativa en [ , y entonces los puntos se eligen como los ceros de un polinomio de grado que es ortogonal, con respecto a la función de peso sobre el intervalo , a cualquier polinomio de grado , y los coeficientes se calculan como: con . A continuación se presenta una tabla que resume los resultados de las reglas básicas y de la regla gaussiana con (Regla de cuadratura Legendre-Gauss). Reglas Rectángulo Valor aproximado de la integral Error Punto Medio Trapecio Simpson Trapecio corregido Regla de cuadratura LegendreGauss En cada caso es algún valor entre . es una constante que solo depende de k. 4 Problema con las soluciones encontradas y una solución a éste -Problema: En general, las soluciones encontradas no producen estimaciones lo suficientemente precisas, especialmente cuando el intervalo es grande. -Solución: Dividir el intervalo en subintervalos, y en cada uno de estos aplicar alguna de las reglas de cuadratura mencionadas anteriormente. Para lo anterior definamos . Entonces Donde como el polinomio por tramos de grado es un polinomio de grado con puntos de ruptura . Usando las reglas de integración se tiene que: y De donde la idea es esencialmente aproximar para con , es decir, aproximar con , y posteriormente sumar los resultados de las aproximaciones. La aproximación de cada con se basa en alguna de las reglas de cuadratura antes mencionadas. En lo subsecuente se supondrá que las se han elegido igualmente espaciadas, es decir, y se derivaran completamente solo dos de las reglas compuestas, posteriormente se presenta un cuadro que resume los resultados de varias reglas compuestas considerando que la derivada del orden del error de las reglas básicas o de las reglas gaussianas son continuas. 5 Regla compuesta del rectángulo La regla compuesta del rectángulo se caracteriza por aplicar en cada subintervalo considerado la regla del rectángulo, es decir, Con Y entonces Con Teorema 1: Si f es continúa en y son puntos en , entonces para cualquier conjunto de valores donde todos positivos o bien todos negativos se cumple que: Suponiendo que como: es continua en podemos usar el teorema anterior para expresar el error Regla compuesta de Simpson La regla compuesta del Simpson se caracteriza por aplicar en cada subintervalo considerado la regla de Simpson, es decir, 6 con y entonces con Suponiendo que error como: es continua en podemos usar nuevamente el teorema 1 para expresar el Las otras reglas compuestas se derivan de manera similar a las dos que se han derivado como ejemplo, la característica principal de estas radica en el hecho de que en cada uno de los subintervalos se aplica la regla básica o gaussiana correspondiente. 7 Reglas compuestas de El Rectángulo Valor aproximado de la integral Error El Punto Medio El Trapecio Simpson Del Trapecio corregido Cuadratura LegendreGauss En cada caso es algún valor entre . es una constante que solo depende de k. Elección de N (Numero de intervalos) -Problema. Para cada una de las reglas compuestas presentadas que se pueden aplicar es necesario determinar primero el número de subintervalos (N). -Soluciones 1. En la tabla resumen de los resultados de las reglas compuestas se observa que el error que se comete teóricamente tiende a cero cuando N tiende a infinito, así sería posible teóricamente 8 probar varios valores de N hasta que uno obtenga un error lo “suficientemente pequeño”, sin embargo este procedimiento en la práctica es muy peligroso ya que el error de redondeo puede provocar problemas, este error se incrementa conforme N crece por dos razones esencialmente, la primera es que puede ser tan pequeño que por la precisión de la maquina no sea distinguible del cero, y la segunda es que entre más grande N más son las operaciones que se deben de realizar y por tanto son más los errores de redondeo, más adelante se presenta un ejemplo de esta situación, otra desventaja de este procedimiento es el hecho de que tenemos que ser capaces de evaluar la función y en algunos casos la derivada de ésta en más puntos, por ejemplo, en la regla compuesta de Simpson se debe ser capaz de evaluar la función en los puntos medios de cada subintervalo, así como en los extremos de estos, es decir, en puntos. 2. Si tenemos o podemos dar una cota al valor absoluto de la derivada que aparece en el termino del error, entonces es posible determinar N de manera que garantice un error menor a cierta tolerancia dada, sin embargo, como en el caso anterior se debe tener cuidado con la tolerancia dada ya que para valores muy pequeños quizás sea requerido una N muy grande y se tendrían los problemas de redondeo que ya se mencionaron. Ejemplo Se desea calcular la integral i. ii. iii. i. . (el valor correcto a 8 cifras decimales es ) Determine N de manera que la regla compuesta del trapecio dé el valor aproximado de la integral con 6 dígitos correctos después del punto decimal. Repita lo mismo que en i) pero con la regla compuesta del trapecio corregido. Calcule para varios valores de N una aproximación a la integral con las dos reglas anteriores y con la regla compuesta de Simpson. En este caso se tiene que: y tiene segunda derivada continua, entonces el error con la regla compuesta del trapecio se puede expresar como: Como no se conoce se puede buscar una cota a este error en valor absoluto de manera que este no sea mayor a 9 Se puede verificar que Y entonces O ii. tiene cuarta derivada continua, entonces el error con la regla compuesta del trapecio corregida se puede expresar como: De manera similar al inciso anterior se busca una cota a este error con Se puede verificar que Y entonces O Observaciones: Comparando los resultados obtenidos en i)y ii) se puede observar que el número necesario de subintervalos se redujo de manera considerable con la regla compuesta que tiene un error que depende de la derivada de orden mayor, este resultado se puede generalizar de la siguiente manera, si las derivadas de orden mayor de la función a integrar son aproximadamente iguales o menores que las derivadas de orden menor, el numero de subintervalos necesarios se reducirá con las reglas compuestas que dependan de derivadas de orden mayor, en particular las reglas gaussianas serán más efectivas. iii. A continuación se presentan tablas con los resultados de las aproximaciones para varios valores de N y las reglas solicitadas, estos se obtienen con los programas escritos en MATLAB que se presentan en el anexo. Cabe mencionar que para ver el efecto del error de redondeo se realizaron los cálculos en precisión simple y compuesta, además de siempre considerar el caso de N=1 para realizar comparaciones con las reglas básicas. El error que se presenta es en valor absoluto con respecto al valor correcto a 8 cifras. 10 Regla compuesta del trapecio N 1 50 100 200 400 800 1200 1400 1600 I_simple 0.683939695358276 0.746799647808075 0.746817886829376 0.746822476387024 0.746823668479919 0.746824324131012 0.746824026107788 0.746823608875275 0.746824860572815 I_doble 0.683939720585721 0.746799607189351 0.74681800146797 0.746822599980145 0.746823749604595 0.746824037010484 0.746824090233786 0.74682410153016 0.746824108861943 Error_simple 0.0628844346417237 2.44821919250793e-005 6.24317062380975e-006 1.65361297610467e-006 4.61520080596856e-007 1.94131011932441e-007 1.03892211944512e-007 5.21124725372246e-007 7.30572814910957e-007 Error_doble 0.0628844094142789 2.45228106486861e-005 6.12853203030284e-006 1.53001985536694e-006 3.80395404731004e-007 9.29895160872718e-008 3.97662138773569e-008 2.84698397079453e-008 2.11380571935038e-008 *Resultados obtenidos con el programa 1 del anexo. Se observa en la tabla anterior que en un principio tanto para precisión doble como simple el error se reduce al aumentar el valor de N, sin embargo con precisión simple se observa que con N=1400 o 1600 este error no solo no se reduce sino que empieza a aumentar, esto nos sugiere que el efecto del error de redondeo empieza a ser mucho mayor con estos valores de N, con precisión doble aun no parece que el error de redondeo afecte de manera considerable. Se observa también que considerar la regla compuesta con N=50 mejora mucho la aproximación con respecto a solo considerar la regla básica del trapecio (N=1). Regla compuesta del trapecio N 1 10 11 12 13 14 15 100 1500 2000 I_simple 0.683939695358276 0.746210813522339 0.746317267417908 0.746398270130157 0.746461272239685 0.746511280536652 0.74655157327652 0.746817886829376 0.746824681758881 0.746824681758881 I_doble 0.683939720585721 0.746210796131749 0.746317272282115 0.746398247893441 0.74646126103669 0.746511256970259 0.746551589160412 0.74681800146797 0.746824105562098 0.746824117484119 Error_simple 0.0628844346417237 0.000613316477661163 0.000506862582092316 0.00042585986984256 0.000362857760314972 0.000312849463348419 0.000272556723480255 6.24317062380975e-006 5.51758880584785e-007 5.51758880584785e-007 Error_doble 0.0628844094142789 0.000613333868250687 0.000506857717884723 0.000425882106559472 0.000362868963310503 0.000312873029740701 0.000272540839588054 6.12853203030284e-006 2.44379023683905e-008 1.2515881331332e-008 Regla compuesta del trapecio corregida N I_simple I_doble 1 0.745252907276154 0.745252960780962 10 0.746823966503143 0.746823928533702 11 0.746823966503143 0.746823993275464 12 0.746824085712433 0.746824034283685 13 0.746824085712433 0.746824061274531 14 0.746824085712433 0.746824079624317 15 0.746824085712433 0.746824092450169 100 0.746824026107788 0.746824132791989 1500 0.746824681758881 0.746824132812427 2000 0.746824681758881 0.746824132812429 *Resultados obtenidos con el programa 2 del anexo. Error_simple 0.00157122272384647 1.63496856719902e-007 1.63496856719902e-007 4.42875671691212e-008 4.42875671691212e-008 4.42875671691212e-008 4.42875671691212e-008 1.03892211944512e-007 5.51758880584785e-007 5.51758880584785e-007 Error_doble 0.00157116921903844 2.01466298310748e-007 1.36724535582111e-007 9.57163147630169e-008 6.87254688713779e-008 5.03756834024927e-008 3.75498314664213e-008 2.79198919539425e-009 2.81242662492076e-009 2.81242873434451e-009 En la tabla anterior se observa que el efecto de redondeo en el caso de la regla compuesta del trapecio corregida tanto en precisión simple como doble ya es notable, también se observa que con N pequeña en este ejemplo, la regla compuesta del trapecio corregida proporciona mejores aproximaciones que la regla compuesta del trapecio, y comparando la regla compuesta del trapecio corregida con la regla básica del trapecio se observa que la primera es sumamente más precisa incluso con N=10. En la tabla que se muestra abajo se observa que para el caso de precisión simple el efecto del error de redondeo es ya notable con N=50, nuevamente se observa una mayor precisión cuando se usa la regla compuesta en lugar de la regla básica de Simpson 11 Regla compuesta de Simpson N I_simple I_doble 1 0.7471804022789 0.74718042890951 10 0.746824204921722 0.746824183875915 15 0.746824085712433 0.746824142902453 25 0.746824145317078 0.746824134120318 50 0.746824264526367 0.746824132894176 100 0.746824145317078 0.746824132817537 *Resultados obtenidos con el programa 3 del anexo. Error_simple 0.000356272278900116 7.49217223816601e-008 4.42875671691212e-008 1.53170776062694e-008 1.34526367157051e-007 1.53170776062694e-008 Error_doble 0.000356298909510278 5.38759146184731e-008 1.29024532169453e-008 4.12031797569767e-009 2.89417600995989e-009 2.8175365374139e-009 Conclusiones Las reglas compuestas presentadas para resolver el problema de estimar Dan resultados más precisos que las reglas básicas e incluso que las reglas gaussianas, especialmente cuando el intervalo es grande, . Sin embargo, la elección de N debe realizarse con cuidado, ya que si bien teóricamente N muy grande mejora las aproximaciones, en la práctica con el uso de computadoras para obtener los cálculos esto ya no es necesariamente cierto dado el error de redondeo. Otro inconveniente de las reglas compuestas es que debemos ser capaces de evaluar la función en un número mayor de puntos que con las reglas básicas, este número aumenta conforme N aumenta. Si la función es lo suficientemente suave, en general, las reglas compuestas cuyo error depende de un orden mayor en la derivada de la función suelen ser más precisas con tamaños de N chicos. El error de redondeo se genera esencialmente al considerar , esta cantidad conforme N crece puede ser indistinguible del cero computacionalmente, además de que conforme N crece el número de operaciones que se realizan también aumentan. 12 Anexo Programa 1. %Ejemplo 7.4 %Ejemplo trabajo Regla compuesta del trapecio clc clear all format long g N=[1 50 100 200 400 800 1200 1400 1600]'; a=0; b=1; N1=size(N); for j=1:N1(1,1) xi=0; for m=0:N(j,1) xi(m+1,1)=a+m*(b-a)/N(j,1); end T(j,1)=0; for k=1:N(j,1)-1 T(j,1)=T(j,1)+exp(-xi(k+1,1)^2); end T(j,1)=(b-a)/N(j,1)*T(j,1)+(b-a)/(2*N(j,1))*(exp(-xi(0+1,1)^2)+exp(-xi(N(j,1)+1,1)^2)); end T; Errord=abs(T-.74682413); Ns=zeros(1,1,'single'); as=zeros(1,1,'single'); bs=zeros(1,1,'single'); N1s=zeros(1,1,'single'); Ts=zeros(1,1,'single'); xis=zeros(1,1,'single'); ms=zeros(1,1,'single'); js=zeros(1,1,'single'); ks=zeros(1,1,'single'); Ns=[1 50 100 200 400 800 1200 1400 1600]'; as=0; bs=1; N1s=size(Ns); for js=1:N1s(1,1) xis=0; for ms=0:Ns(js,1) xis(ms+1,1)=as+ms*(bs-as)/Ns(js,1); end Ts(js,1)=0; for ks=1:Ns(js,1)-1 Ts(js,1)=Ts(js,1)+single(exp(single(-xis(ks+1,1)^2))); end Ts(js,1)=(bs-as)/Ns(js,1)*Ts(js,1)+(bs-as)/(2*Ns(js,1))*(single(exp(single(-xis(0+1,1)^2)))+single(exp(single(xis(Ns(js,1)+1,1)^2)))); end Ts; Errors=abs(double(Ts)-.74682413); disp(' ) disp(' Error_doble') Resultados=[ N double(Ts) T disp(Resultados) Regla compuesta del trapecio' N Errors I_simple I_doble Errord]; Programa 2 13 Error_simple %Ejemplo 7.5 %Regla compuesta del trapecio vs regla compuesta del trapecio corregida clc clear all format long g N=[1 10 11 12 13 14 15 100 1500 2000]'; a=0; b=1; N1=size(N); for j=1:N1(1,1) xi=0; for m=0:N(j,1) xi(m+1,1)=a+m*(b-a)/N(j,1); end T(j,1)=0; for k=1:N(j,1)-1 T(j,1)=T(j,1)+exp(-xi(k+1,1)^2); end T(j,1)=(b-a)/N(j,1)*T(j,1)+(b-a)/(2*N(j,1))*(exp(-xi(0+1,1)^2)+exp(-xi(N(j,1)+1,1)^2)); Tcorr(j,1)=T(j,1)+((b-a)/N(j,1))^2/12*(-2*xi(0+1,1)*exp(-xi(0+1,1)^2)+2*xi(N(j,1)+1,1)*exp(-xi(N(j,1)+1,1)^2)); end T; Errord=abs(T-.74682413); Tcorr; Errordcorr=abs(Tcorr-.74682413); Ns=zeros(1,1,'single'); as=zeros(1,1,'single'); bs=zeros(1,1,'single'); N1s=zeros(1,1,'single'); Ts=zeros(1,1,'single'); xis=zeros(1,1,'single'); ms=zeros(1,1,'single'); js=zeros(1,1,'single'); ks=zeros(1,1,'single'); Tscorr=zeros(1,1,'single'); Ns=[1 10 11 12 13 14 15 100 1500 2000]'; as=0; bs=1; N1s=size(Ns); for js=1:N1s(1,1) xis=0; for ms=0:Ns(js,1) xis(ms+1,1)=as+ms*(bs-as)/Ns(js,1); end Ts(js,1)=0; for ks=1:Ns(js,1)-1 Ts(js,1)=Ts(js,1)+single(exp(-xis(ks+1,1)^2)); end Ts(js,1)=(bs-as)/Ns(js,1)*Ts(js,1)+(bs-as)/(2*Ns(js,1))*(single(exp(-xis(0+1,1)^2))+single(exp(-xis(Ns(js,1)+1,1)^2))); Tscorr(js,1)=Ts(js,1)+((bs-as)/Ns(js,1))^2/12*(-2*xis(0+1,1)*exp(-xis(0+1,1)^2)+2*xis(Ns(js,1)+1,1)*exp(xis(Ns(js,1)+1,1)^2)); end Ts; Errors=abs(double(Ts)-.74682413); Tscorr; Errorscorr=abs(double(Tscorr)-.74682413); disp(' ') disp(' N Error_doble') Regla compuesta del trapecio I_simple I_doble Error_simple Resultados=[ N double(Ts) T Errors Errord]; disp(Resultados) disp(' Regla compuesta del trapecio corregida ') disp(' N I_simple I_doble Error_simple Error_doble') Resultadoscorr=[ N double(Tscorr) Tcorr Errorscorr Errordcorr]; disp(Resultadoscorr) Programa 3 14 %Ejemplo 7.6 %Regla compuesta de Simpson clc clear all format long g N=[1 10 15 25 50 100]'; a=0; b=1; N1=size(N); for j=1:N1(1,1) xi=0; S(j,1)=0; for m=0:N(j,1) xi(m+1,1)=a+m*(b-a)/N(j,1); end T(j,1)=0; for k=1:N(j,1)-1 T(j,1)=T(j,1)+exp(-xi(k+1,1)^2); end T(j,1)=2*T(j,1); T2(j,1)=0; for k=1:N(j,1) T2(j,1)=T2(j,1)+exp(-((xi(k,1)+xi(k+1,1))/2)^2); end T2(j,1)=4*T2(j,1); S(j,1)=(b-a)/(N(j,1)*6)*((exp(-xi(0+1,1)^2)+exp(-xi(N(j,1)+1,1)^2))+T(j,1)+T2(j,1)); end S; Errord=abs(S-.74682413); Ns=zeros(1,1,'single'); as=zeros(1,1,'single'); bs=zeros(1,1,'single'); N1s=zeros(1,1,'single'); Ts=zeros(1,1,'single'); T2s=zeros(1,1,'single'); Ss=zeros(1,1,'single'); xis=zeros(1,1,'single'); ms=zeros(1,1,'single'); js=zeros(1,1,'single'); ks=zeros(1,1,'single'); Ns=[1 10 15 25 50 100]'; as=0; bs=1; N1s=size(Ns); for js=1:N1s(1,1) xis=0; Ss(js,1)=0; for ms=0:Ns(js,1) xis(ms+1,1)=as+ms*(bs-as)/Ns(js,1); end Ts(js,1)=0; for ks=1:Ns(js,1)-1 Ts(js,1)=Ts(js,1)+exp(-xis(ks+1,1)^2); end Ts(js,1)=2*Ts(js,1); T2s(js,1)=0; for ks=1:Ns(js,1) T2s(js,1)=T2s(js,1)+exp(-((xis(ks,1)+xis(ks+1,1))/2)^2); end T2s(js,1)=4*T2s(js,1); Ss(js,1)=(bs-as)/(Ns(js,1)*6)*((exp(-xis(0+1,1)^2)+exp(-xis(Ns(js,1)+1,1)^2))+Ts(js,1)+T2s(js,1)); end Ss; Errors=abs(double(Ss)-.74682413); disp(' ') disp(' Error_doble') Resultados=[ N double(Ss) S disp(Resultados) Regla compuesta de Simpson N Errors I_simple I_doble Errord]; 15 Error_simple