Você está na página 1de 7

Gutirrez Navarro Evedardo Benjamn

4 1

DIMA

Cuadratura Gaussiana
Es el nombre de una clase de tcnicas para realizar integraciones. Las formulas particulares de Gauss descritas aqu se denominan frmulas de Gauss-Legendre.
Se escogen los nodos X1, X2, X n en el intervalo [ a, b ] y los coeficientes C1, C2 ,. . . , C n para reducir en lo posible el error esperado que se obtiene al efectuar la aproximacin Para resolver cualquier problema por medio de la cuadratura de Gaussiana, primero cambiamos los lmites de integracin a[ -1, 1 ] mediante la formula: Z = 2x (a+b) 2a Luego tenemos que efectuar un cambio de variable a la funcin para que quede en trminos de Z mediante la siguiente formula: f(x) = f( (b-a)Z + (a+b)) 2 2

Luego cambiamos dx por dz , para que todos los trminos estn en funcin de Z . dx = b-a dz

Cdigo de cuadratura gaussiana


function y = cuadgauss2( f, a, b, TOL ) h2 = ( b - a ) / 2; fm = feval ( f, a + h2 - sqrt(1/3)*h2 ); fp = feval ( f, a + h2 + sqrt(1/3)*h2 ); sab = h2 * ( fm + fp ); [approxeestnfunc] = as ( sab, f, a, b, TOL ); if ( nargout == 0 ) s = sprintf ( approx ); s = sprintf ( s, eest ); s = sprintf ( s, nfunc+2 ); disp ( s ) else y = approx; end; return function [app, est, nf] = as ( sab, f, a, b, TOL ) h2 = ( b - a ) / 4; fml = feval ( f, a + h2 - sqrt(1/3)*h2 ); fpl = feval ( f, a + h2 + sqrt(1/3)*h2 ); fmr = feval ( f, b - h2 - sqrt(1/3)*h2 ); fpr = feval ( f, b - h2 + sqrt(1/3)*h2 ); sac = h2 * ( fml + fpl ); scb = h2 * ( fmr + fpr ); errest = abs ( sab - sac - scb ); if ( errest< (10.0*TOL) ) app = sac+scb; est = errest / 10.0; nf = 4; return; else [a1 e1 n1] = as ( sac, f, a, a+2*h2, TOL/2.0 ); [a2 e2 n2] = as ( scb, f, a+2*h2, b, TOL/2.0 ); app = a1 + a2; est = e1 + e2; nf = n1 + n2 + 4; return; end;

resultado >> a=2 a= 2 >> b=4 b= 4 >> TOL=0.01 TOL = 0.0100 >> f=@(x) (5./x.^2)+2 f= @(x)(5./x.^2)+2 >> y=cuadratura(f,a,b,TOL) y= 5.2493

Gutirrez Navarro Evedardo Benjamn

4 1

DIMA

Regla de Trapecio
La regla del trapecio es la primera de las formulas cerradas de integracin de Newton-Cotes. Corresponde al caso donde el polinomio de la ecuacin

Es de primer grado, es decir, n=1. Recuerde que una lnea se puede representar como El rea bajo esta lnea recta es una aproximacin de la integral de f(x) entre los lmites a y b:
Pero, la Regla de Trapecio es la mejora que busca una aproximacin mayor.

Y la Regla de Trapecio Compuesta est dada por:

Para programar la regla, los datos de entrada son a,b,n,f y como resultado, la aproximacin. Cdigo regla del trapezio function y = trapezio(valor min,valormax, interv,fun ) y = 0; step = (valor max - valor min) / interv; for j = valor min : step : valor max y = y + feval(fun,j); end; y = (y - (feval(fun, valor min) + feval(fun, valor max))/2) * step; resultado

>> w = trapezio(0, 3, 65,'fun_for_integration') w= 20.2548

function y = fun_for_integration(x)

Metodo de Simpson
ot orma de obtener una estimaci n ms exacta de una integral consiste en usar polinomios de grado superior para unir los puntos. Por ejemplo, si hay otro punto a la mitad entre f(a) y f(b), los tres puntos se pueden unir con una parbola. Si hay dos puntos igualmente espaciados entre f(a) y f(b), los cuatro puntos se pueden unir mediante un polinomio de tercer grado. Las frmulas que resultan de tomar las integrales bajo estos polinomios se conocen como regla de Simpson. En este procedimiento, se toma el intervalo de anch ra 2h, comprendido entre xi y xi+2, y se s stituye la uncin f(x)por la parbola que pasa por tres puntos (xi, yi), (xi+1, yi+1), y (xi+2, yi+2). El valor del rea aproximada, sombreada en la igura, se calcula con un poco ms detrabajo y el resultado es

t= Columns 1 throu h 6 0 0.4667 0.9333 1.4000 1.8667 2.3333 Columns 7 throu h 12 2.8000 3.2667 3.7333 4.2000 4.6667 5.1333 Columns 13 throu h 16 5.6000 6.0667 6.5333 7.0000

grafica

y= Columns 1 throu h 6 3.0000 3.0000 3.4044 4.1929 5.3247 6.7564 Columns 7 throu h 12 8.4526 10.3889 12.5490 14.9229 17.5044 20.2898 Columns 13 throu h 16 23.2771 26.4652 29.8539 33.4432

>> [t,y]=smps(f,0,5,2,20 ; >>yy=(t+1 .^3.*exp(-t ; >>plot(t,y,'x',t,yy)

'

>> [t,y]=smps(f,0,7,3,15

'

'

function [t,y]=smps(f,t0,b,y0,n) h=(b-t0)/n; t=zeros(1,n+1); y=zeros(1,n+1); index=[0:1:n]; t=t0+h*index; y=y0; for i=2:n+1 y(i)=y(i-1)+h*feval(f,t(i-1),y(i1)); end

f= @(y,t 6*y./(t+4 +y

' $

>> f=

' &%$# "

Codi od l metodo de simpson

result do
t 6*y./ t+4 +y

 

Guti


N o

d do B nj

4 1

  

Gutirrez Navarro Evedardo Benjamn El Mtodo de Euler:

4 1

DIMA

Considere el problema de valor inicial para la funcin (desconocida) y(t) descrito por:

Defina para n0 los siguientes cantidades:

Para cualquier j0, tenemos por el Teorema de Taylor que podemos escribir:

Eliminando los terminosO(h2) obtenemos la aproximacin: Denotamos ahora por yj una aproximacin de y(tj). Entonces motivado por la aproximacin de arriba definimos las aproximaciones {yj} por la recursin: lo que se conoce como el mtodo de Euler. La cantidad

codigo
function s=euler(f,a,b,M) f=inline(f); h=(b-a)/(2*M); s1=0; s2=0; for k=1:M x=a+h*(2*k -1); s1=s1+feval(f,x); end for k=1:(M-1) x=a+h*2*k; s2=s2+feval(f,x); end s=h*(feval(f,a)+feval(f,b)+4*s1+2*s2)/3;

resultado

Metodo de Runge-Kutta 2 Orden


La versin de segundo orden de la ecuacinyi + 1 = yi + (xi,yi,h)h es yi + 1 = yi + (a1k1 + a2k2)h donde: k1 = f(xi,yi) k2 = f(xi + pih,yi + q11k1h) Los valores de a1, a2, p1 y q11 son evaluados al igualar el trmino de segundo orden de la ecuacin dada con la expansin de la serie de Taylor. Se desarrollan tres ecuaciones para evaluar cuatro constantes desconocidas. Las tres ecuaciones son: a1 + a2 = 1 a2p1 = 1 / 2 a2q11 = 1 / 2 Como se tienen tres ecuaciones con cuatro incgnitas se tiene que suponer el valor de una de ellas. Suponiendo que se especi ic un valor para a2, se puede resolver de manera simultnea el sistema de ecuaciones obtenido: a1 = 1 a2

Como se puede elegir un nmero in inito devalores para a2, hay un nmero in inito de mtodos Runge Kutta de segundo orden. Cada versin podra dar exactamente los mismos resultados si la solucin de la EDO uera cuadrtica, lineal o una constante.

function[y]= runku2(h) t=10; y(1)=0; n=10/h; a=0.2; b=0.4; x=0:h:t; for i=2:n+1; k1=h*(a-b*y(i-1)); k2=h*(a-b*(y(i-1)+k1)); y(i)=y(i-1)+0.5*(k1+k2); end; plot(x,y,'o') holdon

>> h=0.16 h= 0.1600 >> [y]= runku2(h) y= Columns 1 through 6 0 0.0310 0.0600 0.0873 0.1129 0.1368 Columns 7 through 12 0.1593 0.1804 0.2002 0.2188 0.2362 0.2526 Columns 13 through 18 0.2679 0.2823 0.2958 0.3084 0.3203 0. 3314 Columns 19 through 24 0.3419 0.3517 0.3609 0.3695 0.3776 0.3851 Columns 25 through 30 0.3923 0.3989 0.4052 0.4111 0.4166 0.4217 Columns 31 through 36 0.4266 0.4311 0.4354 0.4394 0.4432 0.4467

codi o

result do

Guti rrez N

1 21

rro Eved rdo Benj mn

4 1

DIMA

Metodo de Runge-Kutta 4 Orden


La convergencia lenta del mtodo de Euler y lo restringido de su regin de estabilidad absoluta nos lleva a considerar mtodos de orden de convergencia mayor. En clase mencionamos que en cada paso el mtodo de Euler se mueve a lo largo de la tangente de una cierta curva que esta "cerca" a la curva desconocida o buscada. Los mtodos Runge -Kutta extienden esta idea geomtrica al utili ar varias derivadas o tangentes intermedias, en lugar de solo una, para aproximar la funcin desconocida. Los mtodos Runge-Kutta ms simples se obtienen usando dos de estas derivadas intermedias. Mtodos Runge-Kutta de dos Evaluaciones: Aqui buscamos mtodos o frmulas numricas de la forma:

n , de uso Para resolver ecuaciones di erenciales ordinarias de primer orden con error del orde de -Kutta de tan recuente que en la literatura sobre mtodos numricos se le llama el Mtodo de Runge 4to orden, se dar a conocer sin demostrar y consiste en aplicarla ecuacin de recurrencia en donde la uncin est dada por la expresin: *y i +1(x i +1) = y i +{ h /6 *[K1 +(2 * K2) +(2 * K3) + K4 ] } (16) en el cual: * K1 =f [x i, y i] * K2 =f [x i +(h /2), y i +(h *K1 /2)] * K3 =f [x i +(h /2), y i +(h *K2 /2)] * K4 =f [x i +h, y i +(h *K3 )] La ecuacin (16) se obtiene haciendo un promedio de las cuatro pendientes, K1, K2, K3 y K4 a la curva integral, en forma semejante a como se procedi con las pendientes de las tangentes T2 que dieron T1y lugar a (11).

codi o
function [y]=runku4(F_xy) h=1.5; x = 0:h:3; y = zeros(1,length(x)); y(1) = 5; for i=1:(length(x)-1)

Guti rrez N varro Evedardo Benjamn

4 1

DIMA

Columns 37 through 42 0.4500 0.4531 0.4560 0.4587 0.4613 0.4637 Columns 43 through 48 0.4659 0.4680 0.4700 0.4719 0.4736 0.4753 Columns 49 through 54 0.4768 0.4782 0.4796 0.4808 0.4820 0.4831 Columns 55 through 60 0.4842 0.4852 0.4861 0.4869 0.4878 0.4885 Columns 61 through 63 0.4892 0.4899 0.4905

resultado >>f_xy=@(t,r) 4.*exp(-t)-0.7*r f_xy = @(t,r)4.*exp(-t)-0.7*r

Gutirrez Navarro Evedardo Benjamn

4 1

DIMA

k_1 = F_xy(x(i),y(i)); k_2 = F_xy(x(i)+0.5*h,y(i)+0.5*h*k_1); k_3 = F_xy((x(i)+0.5*h),(y(i)+0.5*h*k_2)); k_4 = F_xy((x(i)+h),(y(i)+k_3*h)); y(i+1) = y(i) + (1/6)*(k_1+2*k_2+2*k_3+ k_4)*h; end; plot(x,y, '-')

>> [y]=runku4(f_xy) y= 5.0000 3.3877 1.5714

Você também pode gostar