Bessel's Interpolation

Back to Programming

Description

Bessel’s interpolation formula is used to compute y = f(x) for an argument x near the middle point of the set of tabulated values of even numbers of equispaced arguments. This formula is formulated by taking the arithmetic mean of Gauss’s forward formula for an even number of arguments and Gauss’s third formula.

DERIVATION

Taking the arithmetic mean of Gauss’s forward formula for even number of arguments we get

Now if we write

Then after simplification, we get Bessel’s formula as:

We get Bessel’s formula as

The remainder term is:

GRAPHICAL REPRESENTATION

Algorithm

INPUT:

The values of x and corresponding y

OUTPUT:

The value for a given x

PROCESS:

Step 1: [taking inputs from the user]
Read n [the number of elements]
for i = 0 to n - 1 repeat
[End of ‘for’ loop]
for i = 0 to n - 1 repeat
Read v [The value for which the interpolation is to be calculated]

Step 2: [Bessel’s Interpolation]
for i = 1 to n - 1 repeat
for j = 0 to n – i - 1 repeat
Set y[j][i] ← y[j + 1][i  - 1] - y[j][i  - 1]
[End of ‘for’ loop]
[End of ‘for’ loop]
for I = 0 to n -1 repeat
for j = 0 to n – i - 1 repeat
print y[i][j]
[End of ‘for’ loop]
Move to the next line
[End of ‘for’ loop]
Set sum ← (y[2][0] + y[3][0]) / 2
if n Mod 2 ≠ 0 then
Set k ← n / 2
else
Set k ← n / 2 - 1
[End of ‘if’]
Set u ← (v - x[k]) / (x[1] - x[0])
for i = 1 to n - 1 repeat
if i Mod 2 ≠ 0 then
Set sum ← sum + ((u - 0.5) * cal_u(u, i - 1) * y[k][i]) / factorial(i)
else
Set sum ← sum + (cal_u(u, i) * (y[k][i] + y[--k][i]) / (factorial(i) * 2))
[End of ‘if’]
[cal_u and factorial are two functions described in Step 3 and Step 4 respectively]
[End of ‘for’ loop]
Print v,sum
[End of Bessel’s interpolation]

Step 3: [function cal_u]
if n = 0 then
return 1
Set tmp ← u
for i = 1 to n / 2 repeat
Set tmp ← tmp × (u - i)
for i = 1 to(n / 2) - 1 repeat
Set tmp ← tmp × (u + i)
return tmp
[End of function ‘cal_u’]

Step 4: [function ‘factorial’]
Set fact ← 1
Set i ← 2
for i = 2 to n repeat
Set fact ← fact × i
return fact
[End of function ‘factorial’]

Code

1. This interpolation formula is very useful when u = 1/2.

2. It gives a good approximation if ¼ < u < ¾.

1. It is used when the numbe4r of arguments is even.

APPLICATIONS

1. This formula is used when the interpolating point is near the middle of the table.

2. It gives a more accurate result when the difference table ends with even order differences.

3.  It gives us the best approximate values of the function formula when the starting point ${\mathrm{x}}_{0}$ near the middle point is so chosen such that

4. -.25 < v < .25 i.e. -1/4 < u - 1/2 < ¼ or, ¼ < u < ¾.