ANÁLISIS NUMÉRICO
2. Introducción a la interpolación
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
C=Y*L
3. Interpolación de lagrange
function [C,L]=lagran(X,Y)
w=length(X);
n=w-1;
L=zeros(w,w);
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
C=Y*L
4. Polinomio interpolador de Newton
function [p0,err,k,y]=newton(f,df,p0,delta,epsilon,max1)
5. Polinomios de Chevysheb
function [C,X,Y]=cheby(fun,n,a,b)
if nargin==2, a=-1;b=1;end
d=pi/(2*n+2);
C=zeros(1,n+1);
for k=1:n+1
X(k)=cos((2*k-1)*d);
end
X=(b-a)*X/2+(a+b)/2;
x=X;
Y=eval(fun);
for k =1:n+1
z=(2*k-1)*d;
for j=1:n+1
C(j)=C(j)+Y(k)*cos((j-1)*z);
end
end
C=2*C/(n+1);
C(1)=C(1)/2;
6. Aproximaciones de Padé
s=tf('s');
fprintf('Ingrese la función en la variable s');
p=exp(-2.6*s)/(s^2+0.6*s-2);
step(p)
hold on
n=input('Ingrese el grado de aproximación');
gs=pade(p,n)
step(gs)
grid