MÉTODO DE NEWTON-COTES
Introducción
INTEGRACIÓN
Se encontrará la integral definida de una función f(x), a través de
métodos numéricos. Es decir, cuando hablamos de una integral definida,
nos referimos a que conocemos los límites de integración.
Muchas veces lo que se hace es aproximar f(x) a un polinomio de
grado n, porque a menudo es necesario evaluar la integral definida de
una función a la cual no se le conoce el valor exacto de la integral (en
otras palabras, no se conoce explícitamente la integral, o no es fácil de
obtener).
Métodos de Newton Cotes
En la regla del Trapecio lo que se hace es aproximar la función f(x)
con un polinomio de grado 1, es decir con una recta.
Para esto empleamos el polinomio de interpolación de Newton-
Lagrange o de Diferencias Divididas de grado1, es decir, una recta.
Normalmente la nomenclatura que se emplea en los libros, cuando se
presenta el método del Trapecio es llamar al límite inferior a y el límite
superior b. Gráficamente , esto quedaría como:
Figura del Polinomio de interpolación de Newton Lagrange.
Sustituyendo esta aproximación en la integral:
Esta es la “Ecuación del
Trapecio”.
Ejercicio:
Calcular:
por el método del Trapecio.
a=0
b=0.8
f(x)=0.2+25x-200x2+675x3-900x4+400x5
f(a)=f(0)=0.2+25(0)-200(0)2+675(0)3-900(0)4+400(0)5
f(a)=0.2
f(b)=f(0.8)=0.2+25(0.8)-200(0.8)2+675(0.8)3-900(0.8)4+400(0.8)5
f(b)=0.232
Regla de Simpson de 1/3 simple
La regla de Simpson de 1/3, lo que hace es que con 3 puntos
conocidos { xo, f(xo)} , { x1, f(x1)} , y{ x2, f(x2)} , aproxima a la función
que se desea integrar.
Primero vamos a ver la regla de Simpson 1/3 para cuando tenemos 2
intervalos, es decir, que tenemos 3 puntos conocidos.
2 intervalos
La regla de Simpson 1/3 resulta de integrar el polinomio de Lagrange
de segundo grado sobre [ xo, x2]. Recordemos que cuando se tienen 3
puntos el polinomio es una parábola.
Por lo tanto:
Obteniendo la regla de Simpson
Ejercicio:
Calcular
Utilizando la regla de Simpson de 1/3 simple.
Solución:
Sabemos que n=2
x f(x)
0 0 1
1 0.5 30.26
2 1 915.65
Partición en subintervalos
/*
PROGRAMA PARA APROXIMAR EL AREA BAJO LA CURVA DE UNA FUNCION POR EL METODO SIMPSON COMPUESTO, USANDO 2, 4, 8, ... 1024 SUBINTERVALOS.
DESCRIPCION DE VARIABLES :
N NUMERO DE SUBINTERVALOS. A LIMITE INFERIOR. B LIMITE SUPERIOR. AREA APROXIMACION OBTENIDA. AV VALOR VERDADERO DE LA INTEGRAL (DE TABLAS).
SE DECLARA LA FUNCION A INTEGRAR. */
#include <stdio.h>#include <conio.h>#include <math.h>
double F(double X);void Simpson_13();void Lee_Datos();
double Av,A,B,Eror,Area;int N,J,Respuesta;
main() { /* Principal */ Av=0.682; Lee_Datos(); printf(" APROXIMACION DEL AREA BAJO LA FUNCION\n"); printf(" F(X)=1/SQR(2*3.14159)*EXP(-X^2/2)\n"); printf(" DESDE X= %6.2f HASTA X= %6.2f\n ",A,B);
if (Respuesta == 1) printf(" N APROXIMACION AL AREA ERROR EN %\n");
else printf(" N APROXIMACION AL AREA\n");
/* SE USA UN CICLO ITERATIVO PARA CAMBIAR EL VALOR DE N. */
N=2; for (J=1; J<=10; J++) { Simpson_13();
/* SE CALCULA EL ERROR EN % Y SE IMPRIMEN RESULTADOS. */
Eror=fabs((Av-Area)/Av)*100;if (Respuesta == 1)printf("%10d%20.8f%20.8f\n",N,Area,Eror);else printf("%10d%20.8f\n",N,Area);
/* SE CAMBIA EL VALOR DE N. */
N=2*N; }
if (Respuesta == 1) printf(" EL VALOR VERDADERO DE LA INTEGRAL ES : %10.4f\n",Av); getch(); }
double F(double X) { return(1/sqrt(2*3.14159)*exp(-X*X/2)); }
void Lee_Datos(){
/*Las siguientes instrucciones permiten leer los datos desde el teclado */
clrscr(); printf("Desea correr el programa con :\n"); printf("1.- Datos del ejemplo 6.7\n"); printf("2.- Otros datos\n"); printf("Escriba 1 ó 2 "); scanf("%d",&Respuesta); if (Respuesta == 2) {
printf(" Límite inferior de la integral A "); scanf("%lf",&A); printf(" Límite superior de la integral B "); scanf("%lf",&B); } else {
/*Las siguientes instrucciones asignan los datos del ejemplo 6.7*/
A=-1; B=1; } }
void Simpson_13(){ double X,S1,S2,H; int I;
X=A; S1=0; S2=0; H=(B-A)/N;
/* SI N=2, SOLO HAY UN PUNTO INTERMEDIO QUE EVALUAR. */
if (N==2) ; else
/* SE USA UN CICLO ITERATIVO PARA EVALUAR LA FUNCION EN LOS PUNTOS INTERMEDIOS. */
for (I=1; I<=(int) N/2-1; I++) { X=X+H; S1=S1+F(X); X=X+H; S2=S2+F(X); } X=X+H; S1=S1+F(X); Area=H/3*(F(A)+4*S1+2*S2+F(B)); }
Top Related