You are on page 1of 2

Lagrange:

clc;
clear all;
close all;
x=[0 2 5 8 10 12 18];
y=[0 -.8415 .9093 .1411 -.7568 -.9589 -.2794];
x1=0:0.2:18;
for n=1:length(x1)
sum=0;
for i= 1:length(x)
p=1;
for j=1:length(x)
if i~=j
p=p*(x1(n)-x(j))/(x(i)-x(j));
end
end
p=p*y(i);
sum=sum+p;
end
y1(n)=sum;
end
plot(x,y,'o',x1,y1);

Newton:

clc;
clear all;
close all;
x=0:6;
y=[0 .8415 .9093 .1411 -.7568 -.9589 -.2794];

for i=1:7
d(i,1)=y(i);
end
for j=2:7
for k=j:7
d(k,j)=(d(k,j-1)-d(k-1,j-1))/(x(k)-x(k-j+1));
end
end
x1=0:0.1:6;
for i=1:length(x1)
sum=0;
for j=1:7
p=1;
if j~=1
for k=1:j-1
p=p*(x1(i)-x(k));
end
end
p=p*d(j,j);
sum=sum+p;
end;
y1(i)=sum;
end
plot(x,y,'o',x1,y1);

You might also like