Interpolation

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 6

For the data given below, calculate y(3) using Newton’s Backward Difference

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

𝒖(𝒖 − 𝟏) 𝟐 𝒖(𝒖 − 𝟏)(𝒖 − 𝟐) 𝟑


𝒚𝒎 = 𝒚𝒏 − 𝒖𝛁𝒚𝒏 + 𝛁 𝒚𝒏 − 𝛁 𝒚𝒏
𝟐! 𝟑!
𝒖(𝒖 − 𝟏)(𝒖 − 𝟐)(𝒖 − 𝟑) 𝟒 𝒖(𝒖 − 𝟏)(𝒖 − 𝟐)(𝒖 − 𝟑)(𝒖 − 𝟒) 𝟓
+ 𝛁 𝒚𝒏 − 𝛁 𝒚𝒏
𝟒! 𝟓!

(3.5)(2.5)(2) (3.5)(2.5)(1.5)(1) (3.5)(2.5)(1.5)(0.5)(−1)


𝑦𝑚 = 15 − (3.5) × 4 + − +
2 6 24
(3.5)(2.5)(1.5)(0.5)(−0.5)(−2)

120

ym = 7.234
Newton’s Backward Difference Interpolation

START

Enter n, xm

for i = 1 : n

Enter x(i), y(i,1)

h = x(2) – x(1)
𝑥𝑛 − 𝑥𝑚
𝑢=

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))

c=1

A
A

for i = 2 : n

fprintf(‘\n \n’)

c = c +1

for j = 2 : c

fprintf (‘\t %f’,y(i,j))

Sum = 0

for j = 2 : n

Prod =1

for i = 1 : j-1

Prod = Prod * (u – (i-1)/i)

T
mod(j,2) ≅ 0
Sum = Sum + Prod * y(n,j)
F
Sum = Sum – Prod * y(n,j)

ym = y(n,1) + Sum

fprintf (‘ym = %f’,ym)

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

1.000000 -1.000000 1.000000

2.000000 1.000000 2.000000 1.000000

4.000000 2.000000 1.000000 -1.000000 -2.000000The answer is


7.234375>>

You might also like