Professional Documents
Culture Documents
MIE
12 de mayo de 2010
TAREA MATLAB:
INTERPOLACION DE NEWTON.
PROGRAMA:
clear all;
clc;
t=[0*exp(-6):0.1*exp(-6):10*exp(-6)];
sen1=sin(2*pi*100*t);
sen2=sin(2*pi*130*t);
y=sen1+sen2;
n=5;
x=t(5:5+n+1);
Y=y(5:5+n+1);
xa=x;
ya=Y;
coef=zeros(length(Y));
coef(:,1)=Y';
for k=2:length(x)
for j=1:length(x)+1-k
coef(j,k)=(coef(j+1,k-1)-coef(j,k-1))/(x(j+k-1)-x(j));
end
end
for a=1:length(x)
ds=num2str(abs(coef(1,a)));
if coef(1,a)<0
signo2='-';
else
signo2='+';
end
if a>1
if x(a-1)<0
signo1='+';
else
signo1='-';
end
end
if a==1
s=num2str(coef(1,1));
elseif a==2
polact=['(x' signo1 num2str(abs(x(a-1))) ')' ];
actual=[ds '*' polact];
s=[s signo2 actual];
else
polact=[polact '.*' '(x' signo1 num2str(abs(x(a-1))) ')' ];
actual=[ds '*' polact];
s=[s signo2 actual];
end
ERIKA SANCHEZ MUÑIZ
MIE
12 de mayo de 2010
end
xinterpolar=[];
yinterpolar=[];
for i=1:n
xinterpolar=[xinterpolar ; (xa(1,i)+xa(1,i+1))/2];
x=xinterpolar(i,1);
yinterp=eval(s);
yinterpolar= [yinterpolar; yinterp];
end
xg=linspace(min(xa),max(xa));
x=xg;
yg=eval(s);
subplot(5,1,5),plot(xg,yg,xa,ya,'.r',xinterpolar,yinterpolar,'xr'),title('Inte
rpolacion')
RESULTADOS: