Interpolation
Interpolation
Interpolation
Interpolation.
x 0 2 4 6 8 10
y 2 6 8 9 11 15
Solution :-
𝑥𝑛 − 𝑥𝑚 10 − 3 7
u= = = = 3.5
𝑥2 − 𝑥1 2−0 2
y ∇ yn ∇2 yn ∇3 yn ∇4 yn ∇5 yn
2
4
6 -2
2 1
8 -1 1
1 2 -2
9 1 -1
2 1
11 2
4
15
ym = 7.234
Newton’s Backward Difference Interpolation
START
Enter n, xm
for i = 1 : n
h = x(2) – x(1)
𝑥𝑛 − 𝑥𝑚
𝑢=
ℎ
c=1
for j = 2 : n
c=c+1
for i = n : -1 : c
c=1
A
A
for i = 2 : n
fprintf(‘\n \n’)
c = c +1
for j = 2 : c
Sum = 0
for j = 2 : n
Prod =1
for i = 1 : j-1
T
mod(j,2) ≅ 0
Sum = Sum + Prod * y(n,j)
F
Sum = Sum – Prod * y(n,j)
ym = y(n,1) + Sum
END
MAIN PROGRAM :-
n=input(‘Enter value of n’);
xm=input(‘Enter value of xm’);
for i=1:n
x(i)=input(‘Enter value of x’);
y(i,1)=input(‘Enter value of y’);
end
h=x(2)-x(1);
u=((x(n)-xm)/h);
c=1;
for j=2:n
c=c+1;
for i=n:-1:c
y(i,j)=y(i,j-1)-(y(i-1,j-1));
end
end
c=1;
for i=2:n
fprintf(‘\n \n’);
c=c+1;
for j=2:c
fprintf(‘\t %f’,y(i,j));
end
end
Sum=0;
for j=2:n
Prod=1;
for i=1:(j-1)
Prod=Prod*(u – (i-1)/i);
end
if (mod(j,2)~=0)
Sum=Sum+Prod*y(n,j);
else
Sum=Sum-Prod*y(n,j);
end
end
ym=y(n,1)+Sum;
fprintf (‘The answer is %f’,ym);
OUTPUT :-
Enter value of n6
Enter value of xm3
Enter value of x0
Enter value of y2
Enter value of x2
Enter value of y6
Enter value of x4
Enter value of y8
Enter value of x6
Enter value of y9
Enter value of x8
Enter value of y11
Enter value of x10
Enter value of y15
4.000000
2.000000 -2.000000