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?