%tablade diferencia divididas
x=[-1;0;1;2];
f=[-2,1,3,13];
n=length(x)-1;
for i=1:n
t(i,1)=(f(i+1)-f(i));
end
for j=2:n
for i=j:n
t(i,j)=((t(i,j-1)-t(i-1,j-1))/(x(i+1)-x(i-j+1)));
end
end
t
Mostrando entradas con la etiqueta matlab. Mostrar todas las entradas
Mostrando entradas con la etiqueta matlab. Mostrar todas las entradas
viernes, 5 de noviembre de 2010
tablade diferencia divididas
lagrnange
%lagrnage
x=[-1;0;1;2];
y=[-2,1,3,13];
n=length(x)-1;
l=zeros(n+1,n+1);
for k=1:n+1
v=1;
for j=1:n+1
if k~=j
v=conv(v,poly(x(j)))/(x(k)-x(j));
end
end
l(k,:)=v;
end
l
interpolacion polnomial
% interpolacion polinomial
x=[-1;0;1;2];
y=[-2;1;3;13];
n=length(x)-1;
b(:,n+1)=ones(size(x));
b(:,n)=x;
for k=n-1:-1:1
b(:,k)=b(:,k+1).*x;
end
b
a=inv(b)*y
%interpolacion
x0=[0.5;1.5];
y0=zeros(size(x0));
for k=1: n+1
y0=(y0+a(k)*x0.^(1+n-k)); k=1:n+1
end
y0
%grafica
xp=-1:0.01:2;
yp=zeros(size(xp));
for k=1:n+1
yp=(yp+a(k)*xp.^(1+n-k));
end
plot (xp,yp,x,y,'ob')
hold on
plot(x0,y0,'+r')
Suscribirse a:
Entradas (Atom)