Você está na página 1de 6

Diferencias Divididas Finitas hacia Delante

function [D]=dif_ad(f,xi,h,oh,deriv)
a=feval(f,xi);
b=feval(f,xi+h);
c=feval(f,xi+(2*h));
e=feval(f,xi+(3*h));
g=feval(f,xi+(4*h));
i=feval(f,xi+(5*h));
if deriv==1&&oh==1
D=(b-a)/h;
elseif deriv==1&&oh==2
D=(-c+4*b-3*a)/(2*h);
elseif deriv==2&&oh==1
D=(c-2*b+a)/(h*h);
elseif deriv==2&&oh==2
D=(-e+4*c-5*b+2*a)/(h*h);
elseif deriv==3&&oh==1
D=(e-3*c+3*b-a)/(h*h*h);
elseif deriv==3&&oh==2
D=(-3*g+14*e-24*c+18*b-5*a)/(2*(h*h*h));
elseif deriv==4&&oh==1
D=(g-4*e+6*c-4*b+a)/(h^4);
elseif deriv==4&&oh==2
D=(-2*i+11*g-24*e+26*c-14*b+3*a)/(h^4);
end

Diferencias Divididas Finitas hacia Atrs


function [D]=dif_at(f,xi,h,oh,deriv)
a=feval(f,xi);
b=feval(f,xi-h);
c=feval(f,xi-(2*h));
e=feval(f,xi-(3*h));
g=feval(f,xi-(4*h));
i=feval(f,xi-(5*h));
if deriv==1&&oh==1
D=(a-b)/h;
elseif deriv==1&&oh==2
D=(3*a-4*b+c)/(2*h);
elseif deriv==2&&oh==1
D=(a-2*b+c)/(h*h);
elseif deriv==2&&oh==2
D=(2*a-5*b+4*c-e)/(h*h);
elseif deriv==3&&oh==1
D=(a-3*b+3*c-e)/(h*h*h);
elseif deriv==3&&oh==2
D=(5*a-18*b+24*c-14*e+3*g)/(2*(h*h*h));
elseif deriv==4&&oh==1
D=(a-4*b+6*c-4*e+g)/(h^4);
elseif deriv==4&&oh==2
D=(3*a-14*b+26*c-24*e+11*g-2*i)/(h^4);
end

Diferencias Divididas Finitas Centradas


function [D]=dif_c(f,xi,h,oh,deriv)
i=feval(f,xi);
a=feval(f,xi+h);
am=feval(f,xi-h);
b=feval(f,xi+(2*h));
bm=feval(f,xi-(2*h));
e=feval(f,xi+(3*h));
em=feval(f,xi-(3*h));
if deriv==1&&oh==2
D=(a-am)/(2*h);
elseif deriv==1&&oh==4
D=(-b+8*a-8*am+bm)/(12*h);
elseif deriv==2&&oh==2
D=(a-2*i+am)/(h*h);
elseif deriv==2&&oh==4
D=(-b+16*a-30*i+16*am-bm)/(12*(h*h));
elseif deriv==3&&oh==2
D=(b-2*a+2*am-bm)/(2*(h*h*h));
elseif deriv==3&&oh==4
D=(-e+8*b-13*a+13*am-8*bm+em)/(8*(h*h*h));
elseif deriv==4&&oh==2
D=(b-4*a+6*i-4*am+bm)/(h^4);
elseif deriv==4&&oh==4
D=(-e+12*b+39*a+56*i-39*am+12*bm+em)/(6*(h^4));
end

Integral Metodo del Trapecio


function [I]=trap(f,a,b,n)
I=0;
h = (b-a)/n;
I = I + feval(f,a);
for ii = (a+h):h:(b-h)
I = I + 2*feval(f,ii);
end
I = I + feval(f,b);
I = I*h/2;

Integral Metodo Simpson 1/3


function[y]=simp13(h,p1,p2,f)
ya=feval(f,p1);
yb=feval(f,p2);
c=0;
d=0;
for k=1:(p2 - p1)/h - 0.5;
y=feval(f,p1+k*h);
if k/2==floor(k/2)
d=d+y;
continue
else
c= c+y;
continue
end
end
y=h/3*(ya+4*c+2*d+yb);

Integral Metodo Simpson 3/8


function s=simp38(f,a,b,n)
n=3*ceil(n/3);
h=(b-a)/n;
x=linspace(a,b,n+1);
y=feval(f,x);
s=3*h/4*(0.5*y(1)+...
1.5*sum(y(2:3:n))+1.5*sum(y(3:3:n))...
+sum(y(4:3:n))+ 0.5*y(n+1));
return

Você também pode gostar