Different approaches to interpolating a matrix

283 Views Asked by At

Say we have a matrix

8 2 4
2 4 8
4 8 2

If we want to expand the matrix using interpolation to a 5x5 matrix, what are the possible approaches? Furthermore, what if we want to go even further and extend it for example to 21x21 (insert two times 9 columns and rows), etc.?

I tried the following two approaches and they yield different results:

1st approach

Linearly interpolate the columns:

8 5 2 3 4
2 3 4 6 8
4 6 8 5 2

Linearly interpolate the rows:

8   5   2   3   4
5   4   3  4.5  6
2   3   4   6   8
3  4.5  6  5.5  5
4   6   8   5   2

2nd approach

Diagonally interpolate the center points (each corner has a 0.25 factor/weight):

8   x   2   x   4
x   4   x  4.5  x
2   x   4   x   8
x  4.5  x  5.5  x
4   x   8   x   2

Using two new values and two of the initial values, calculate the intersecting points (each corner again has a 0.25 factor):

8    x    2    x   4
x    4  3.625 4.5  x
2  3.625  4   5.5  8
x   4.5  5.5  5.5  x
4    x    8    x   2

Looking at the resulting inner 3x3 matrices, they are different - the 2nd approach yields higher numbers. What is the mathematical background, how can I interpret the result and how can I decide which type of interpolation is better in a given scenario?