Integracion numerica

Solo disponible en BuenasTareas
  • Páginas : 6 (1403 palabras )
  • Descarga(s) : 0
  • Publicado : 1 de septiembre de 2010
Leer documento completo
Vista previa del texto
INTEGRACIÓN NUMÉRICA
El principio de los métodos de integración numerica, basados en las fórmulas de NewtonCotes, consiste en ajustar una un polinomio a un conjunto de puntos y luego integrarlo. Al realizar dichas integrales obtenemos, entre otras, las reglas de trapecio y de Simpson
1 3

las cuales

dan lugar a reglas de integración compuestas que buscan que el error sea cada vez menor.Usemos MATLAB para programar las reglas mencionadas anteriormente.

REGLA DEL TRAPECIO La regla del trapecio está dada por: Zb
a

f (x) dx '

b−a [f (a) + f (b)] 2

si queremos programar esta regla sólo debemos tener en cuenta que los datos de entrada son a, b, f y el dato de salida es la aproximación. En MATLAB creamos una función que nos permita realizarlo. El código puede ser: functionaprox=trapecio(f,a,b) f=inline(f); aprox=((b-a)/2)*(f(a)+f(b)) Recordemos que la segunda instrucción permite que MATLAB identifique a f como una función que depende de la variable x. Para ejecutar la función en la ventana de comandos de Matlab digitamos trapecio(f,a,b); por ejemplo, si queremos aproximar Z2
0

ecos x dx

2

digitamos trapecio(’exp(cos(x^2))’,0,2) y obtenemos 3.23842892946396.1

REGLA DEL TRAPECIO COMPUESTA Para un entero n ≥ 1 la regla de Trapecio compuesta esta dada por: Zb
a

# " n−1 X h f (x) dx ' f (xi ) + f (b) f (a) + 2 2
i=1

donde h =

b−a y xi = a + ih. n

Si queremos programar esta regla debemos tener en cuenta que los datos de entrada son a, b, n,f , el dato de salida es la aproximación, es necesario utilizar un ciclo interno que permitagenerar xi para evaluarlo en f, multiplicarlo por dos y sumarlos. Creamos una función en matlab que me permita realizarlo, el código será: function aprox=tracom(f,a,b,n) f=inline(f); h=(b-a)/n; aprox=f(a)+f(b); for i=1:n-1 x=a+i*h; aprox=aprox+2*f(x); end aprox=(h/2)*aprox; Para aproximar la integral anterior empleando 10 subintervalos digitamos: >> tracom(0exp(cos(xˆ2))0, 0, 2, 10) 100subintervalos empleamos la instrucción >> tracom(0exp(cos(xˆ2))0, 0, 2, 100) y obtenemos 3.22335846450614. y obtenemos 3.22843406783607, al emplear

REGLA DE SIMPSON

1 3

SIMPLE Y COMPUESTA

2

Tenemos que las reglas de Simpson Zb
a

1 3

simple y compuesta están dadas por:

f (x) dx ' ⎡

∙ µ ¶ ¸ a+b b−a f (a) + 4f + f (b) 6 2 n 2 X
i=1

y Zb
a

f (x) dx '

donde h =

b−a , paran un entero par mayor igual a 2 y xi = a + ih. Los límites de las n sumatorias y los subindices 2i − 1 y 2i indican que xj con j par se evalua en f y se multiplica Simpson
1 3

h⎢ ⎢ ⎢f (a) + 4 3⎣

f (x2i−1 ) + 2

n −1 2 X
i=1

⎥ ⎥ f (x2i ) + f (b)⎥ ⎦



por dos, y si j es impar se evalua en f y se multiplica por 4. (esto se obtiene al aplicar regla de simple sobre los subintervalos[x0 , x2 ] , [x2 , x4 ] , ..., [xn−2 , xn ]). Los programas Matlab

que permiten encontrar la aproximación a la integral son: function aprox=simpson(f,a,b) f=inline(f); aprox=((b-a)/6)*(f(a)+4*f((a+b)/2)+f(b));

y la compuesta está dada por function aprox=simcom(f,a,b,n) f=inline(f); h=(b-a)/n; aprox=f(a)+f(b); for i=1:n/2 x=a+(2*i+1)*h; aprox=aprox+4*f(x); end for i=1:(n/2)-1 x=a+2*i*h; 3 aprox=aprox+2*f(x); end aprox=(h/3)*aprox; Al aproximar la integral anterior digitamos simpson(’exp(cos(x^2))’,0,2) y obtenemos 3.36817724255319, empleando 100 subintervalos obtenemos 3.16558949594821 al digitar simcom(’exp(cos(x^2))’,0,2,100).

COEFICIENTES INDETERMINADOS Y CUADRATURA GAUSSIANA:

En MATLAB también podemos encontrar los coeficientes y/o nodos de fórmulas de coeficientesindeterminados o de Cuadratura Gaussiana. En el primer caso, simplemente se requiere formular el sistema de ecuaciones lineales y resolverlo mediante alguno de los métodos explicados en guias anteriores. Por ejemplo, supongamos que deseamos encontrar los coeficientes A, B y C que hacen que la fórmula: Z
1

0

f (x)dx ≈ Af (0) + Bf (1/2) + Cf (1) Trabajando con los

sea exacta para todos los...
tracking img