: Santos Bravo Yuste. Email: santos@unex.es
En este cuaderno vamos a aprender en qué consisten las fórmulas de integración de Gauss. Estas formúlas se caracterizan por ser muy precisas a pesar de requerir un numero pequeño (con relación a las fórmulas de integración de Newton-Cotes) de evaluaciones de la función a integrar.
![[Graphics:Images/CuadraturaGauss.nb_gr_2.gif]](Images/CuadraturaGauss.nb_gr_2.gif)
La función equipuntos[n_] genera una tabla de puntos equiespaciados en el intervalo [-1,1] (ambos extremos incluidos).
![[Graphics:Images/CuadraturaGauss.nb_gr_3.gif]](Images/CuadraturaGauss.nb_gr_3.gif)
Un ejemplo:
![[Graphics:Images/CuadraturaGauss.nb_gr_4.gif]](Images/CuadraturaGauss.nb_gr_4.gif)
alpha[x_,listaxk_] proporciona el polinomio α(x) (véase el guión de practicas) donde x_k son los componentes de la lista que llamamos listaxk.
![[Graphics:Images/CuadraturaGauss.nb_gr_6.gif]](Images/CuadraturaGauss.nb_gr_6.gif)
deralpha[x_,listaxk_] proporciona la derivada con respecto a x del polinomio α(x)
![[Graphics:Images/CuadraturaGauss.nb_gr_7.gif]](Images/CuadraturaGauss.nb_gr_7.gif)
Un ejemplo:
![[Graphics:Images/CuadraturaGauss.nb_gr_8.gif]](Images/CuadraturaGauss.nb_gr_8.gif)
coefpi[m_,x_,listaxk_] proporciona la función c(x,x_m) (véase el guión de la práctica) donde x_m es el m-ésimo punto de la lista de puntos llamada listaxk
![[Graphics:Images/CuadraturaGauss.nb_gr_10.gif]](Images/CuadraturaGauss.nb_gr_10.gif)
Un ejemplo:
![[Graphics:Images/CuadraturaGauss.nb_gr_11.gif]](Images/CuadraturaGauss.nb_gr_11.gif)
poliinterpola[x_,f_,listaxk_] proporciona el polinomio de interpolación de Lagrange de la función f que pasa por los puntos de listaxk. En el guión de prácticas se le llama
(x).
![[Graphics:Images/CuadraturaGauss.nb_gr_14.gif]](Images/CuadraturaGauss.nb_gr_14.gif)
Un ejemplo. Dibujamos el polinomio de interpolación de la función cos(x) que pasa por los puntos de la lista puntos3 y comparamos con la gráfica de la función cos(x). La línea roja es el polinomio de interpolación y la línea azul es el coseno.
![[Graphics:Images/CuadraturaGauss.nb_gr_15.gif]](Images/CuadraturaGauss.nb_gr_15.gif)
![[Graphics:Images/CuadraturaGauss.nb_gr_16.gif]](Images/CuadraturaGauss.nb_gr_16.gif)
Ahora vamos a usar una función f(x) un poco más enrevesada que el coseno en el intervalo [-1,1]:
f[x_]=0.3604242700385263 - 0.2859353381541252*x -
1.4348876857265924*x^2 + 2.1844018015303113*x^3 -
4.8343080908090785*x^4 + 2.4191882435488177*x^5 +
1.3915241814906099*x^6 - 4.278574852602567*x^7 -
4.720156693312884*x^8 - 0.6428146216358843*x^9 +
1.4534839207500816*x^10 + 4.528289022106261*x^11 -
2.7772444114996464*x^12 - 4.07493353487623*x^13 +
4.97255928084053*x^14 - 2.35378696839158*x^15 -
4.087173433313763*x^16 + 2.4066219548996215*x^17 -
1.3840320860954547*x^18 + 3.005116267279011*x^19 +
0.8217695864556585*x^20 + 4.622208898794499*x^21 -
1.6719052089391495*x^22 - 0.22298828147541416*x^23;
Comparamos el polinomio de interpolación de f(x) que pasa por puntos3 con la función f(x). La línea roja es el polinomio de interpolación y la azul es f(x)
![[Graphics:Images/CuadraturaGauss.nb_gr_17.gif]](Images/CuadraturaGauss.nb_gr_17.gif)
![[Graphics:Images/CuadraturaGauss.nb_gr_18.gif]](Images/CuadraturaGauss.nb_gr_18.gif)
Generamos una lista de 5 puntos equiespaciados, mostramos la lista y hallamos el polinomio de interpolación de f(x) que pasa por estos puntos.
![[Graphics:Images/CuadraturaGauss.nb_gr_19.gif]](Images/CuadraturaGauss.nb_gr_19.gif)
Comparamos el polinomio de interpolación de f(x) que pasa por puntos5 con la función f(x).La línea roja es el polinomio de interpolación y la azul es f(x).
![[Graphics:Images/CuadraturaGauss.nb_gr_22.gif]](Images/CuadraturaGauss.nb_gr_22.gif)
![[Graphics:Images/CuadraturaGauss.nb_gr_23.gif]](Images/CuadraturaGauss.nb_gr_23.gif)
Generamos una lista de 9 puntos equiespaciados, mostramos la lista y hallamos el polinomio de interpolación de f(x) que pasa por estos puntos.
![[Graphics:Images/CuadraturaGauss.nb_gr_24.gif]](Images/CuadraturaGauss.nb_gr_24.gif)
Comparamos el polinomio de interpolación de f(x) que pasa por puntos9 con la función f(x).La línea roja es el polinomio de interpolación y la azul es f(x).
![[Graphics:Images/CuadraturaGauss.nb_gr_26.gif]](Images/CuadraturaGauss.nb_gr_26.gif)
![[Graphics:Images/CuadraturaGauss.nb_gr_27.gif]](Images/CuadraturaGauss.nb_gr_27.gif)
Aquí tienes instrucciones para generar al azar funciones polinómicas f2[x_] de grado mm y comparar f2(x) con los polinomios de interpolación de f2(x) que pasan por equipuntos[nptos]. Enjoy!
![[Graphics:Images/CuadraturaGauss.nb_gr_28.gif]](Images/CuadraturaGauss.nb_gr_28.gif)
![[Graphics:Images/CuadraturaGauss.nb_gr_29.gif]](Images/CuadraturaGauss.nb_gr_29.gif)
![[Graphics:Images/CuadraturaGauss.nb_gr_31.gif]](Images/CuadraturaGauss.nb_gr_31.gif)
![[Graphics:Images/CuadraturaGauss.nb_gr_32.gif]](Images/CuadraturaGauss.nb_gr_32.gif)
![[Graphics:Images/CuadraturaGauss.nb_gr_33.gif]](Images/CuadraturaGauss.nb_gr_33.gif)
![[Graphics:Images/CuadraturaGauss.nb_gr_34.gif]](Images/CuadraturaGauss.nb_gr_34.gif)
Calculamos el coeficiente w[k_,listaxk_]=
=
para función peso r(x)=1 en el intervalo [a,b]= [-1,1]
![[Graphics:Images/CuadraturaGauss.nb_gr_41.gif]](Images/CuadraturaGauss.nb_gr_41.gif)
Si usamos tres puntos equiespaciados, los coeficientes w_k son los de la regla de Simpson (= fórmula de Newton-Cotes de 3 puntos).
![[Graphics:Images/CuadraturaGauss.nb_gr_42.gif]](Images/CuadraturaGauss.nb_gr_42.gif)
Calculamos los coeficientes de la fórmula de Newton-Cotes de 5 puntos:
![[Graphics:Images/CuadraturaGauss.nb_gr_44.gif]](Images/CuadraturaGauss.nb_gr_44.gif)
IntegraFormuInterpola[f_,listaxk_] proporciona la expresión aproximada
de la integral
. Aquí
es el elemento k-ésimo de listaxk.
![[Graphics:Images/CuadraturaGauss.nb_gr_49.gif]](Images/CuadraturaGauss.nb_gr_49.gif)
![[Graphics:Images/CuadraturaGauss.nb_gr_50.gif]](Images/CuadraturaGauss.nb_gr_50.gif)
En la fórmula de Gauss-Legendre de n puntos, los puntos x_k con k=1,..,n , son justamente los n ceros del polinomio de Legendre de grado n. En Mathematica, este polinomio viene dado por la función LegendreP[n,x].
La función raicesLeg[n_] proporciona una lista con los n ceros del polinomio de Legrendre de grado n.
![[Graphics:Images/CuadraturaGauss.nb_gr_52.gif]](Images/CuadraturaGauss.nb_gr_52.gif)
La función raizLeg[n_,m_] proporciona el elemento m-ésimo de la lista a lista raicesLeg[n] de los n ceros del polinomio de Legrendre de grado n.
![[Graphics:Images/CuadraturaGauss.nb_gr_53.gif]](Images/CuadraturaGauss.nb_gr_53.gif)
wGaussLegendre[k_,n_] proporciona el coeficiente
de la fórmula de Gauss-Legendre de n puntos.
![[Graphics:Images/CuadraturaGauss.nb_gr_55.gif]](Images/CuadraturaGauss.nb_gr_55.gif)
IntegraGaussLegendre[f_,listaxk_] proporciona la expresión aproximada
de la integral
.según el método de Gauss-Legendre. Esto significa que
viene dado por wGaussLegendre[k_,n_] y
es ell k-ésimo cero del polinomio de Legendre de orden n.
![[Graphics:Images/CuadraturaGauss.nb_gr_60.gif]](Images/CuadraturaGauss.nb_gr_60.gif)
Fórmula explícita de la cuadratura de Gauss-Legendre de n puntos para una función fun cualquiera
![[Graphics:Images/CuadraturaGauss.nb_gr_61.gif]](Images/CuadraturaGauss.nb_gr_61.gif)
Resultados aproximados proporcionados por fórmulas de Newton-Cotes de 3,5,9,13 y 17 puntos, junto con el resultado hallado con NIntegrate para la función f definida anteriormente
Resultados proporcionados por la fórmulas de integración aproximada de Newton-Cotes de 3, 5, 9, 13 y 17 puntos junto con el resultado que proporciona la función NIntegrate de Mathematica.
![[Graphics:Images/CuadraturaGauss.nb_gr_63.gif]](Images/CuadraturaGauss.nb_gr_63.gif)
Resultados aproximados proporcionados por fórmulas de Gauss-Legendre de 3, 5, 7 y 10 puntos, junto con el resultado hallado con NIntegrate para la función f definida anteriormente. Compárense estos resultados con los obtenidos en la celda anterior. ¿Convincente?
![[Graphics:Images/CuadraturaGauss.nb_gr_65.gif]](Images/CuadraturaGauss.nb_gr_65.gif)
[1] M.Abramowitz y I. A.Stegun, Handbook of Mathematical Functions. Dover, Nueva York, 1972.