## Calculation explanation of above example - Bilinear interpolation

**Visualisation of the data table above**

**Calculation**

X = 451 lies between X = 400 and X = 500. X-fraction = (451 - 400)/(500 - 400) = 0.51

Y = 75 lies between Y = 60 and Y = 80. Y-fraction = (75 - 60)/(80 - 60) = 0.75

The 4 data point values to interpolate between are (X,Y):

1. (400,60) = 149

2. (500,60) = 163

3. (400,80) = 169

4. (500,80) = 187

Interpolation X:

1.&2. → 149 + 0.51 × (163 - 149) = 156.14

3.&4. → 169 + 0.51 × (187 - 169) = 178.18

Interpolation Y:

156.14 + 0.75 × (178.18 - 156.14) =

**172.67 = final bilineair interpolation result**.

The

**Cubic spline based interpolation brings 173.44**, which is 0.4% higher. If your data is about a concave curved surface, it is obvious that the bilinear interpolation result will always slightly underestimate, except on a data point itself. The above example is slightly convex in Y direction, but more dominantly concave in X direction.

## Bilinear interpolation - VBA code to be put in a module

In MS Excel, press Alt+F11 to open the Visual Basic Editor (Windows). Via top menu: Insert → Module. Copy the code below into the module.## LAMBDA function *L_InterpolateXY*

Based on *L_InterpolateX*, so

**you need to copy in both functions**.