0

我正在尝试对非二次二维矩阵进行插值,但我只能使用 scipy interp2d 库以二次方式进行插值,如下例所示。

import numpy as np
from scipy import interpolate

d = np.array([[5 ,  0,           4,  10],
              [4,  0,           8,  10],
              [3,  7,  5,  0         ],
              [0,          2,  0,           1]])

y,x = np.where(d!=0)      


f = interpolate.interp2d(x,y,d[d!=0],kind='linear')

X = np.arange(len(d))
print(f(X,X))

[[  5.           4.21172217   4.          10.        ]
[  4.           6.           8.          10.        ]
[  3.           7.           5.         -61.64307857]
[  1.90754706   2.           1.99969264   1.        ]]

我的问题是如何对维度为 6000x5000 的矩阵执行插值,该矩阵不是二次的,并且有许多数字,它介于零值之间,例如 4x4 矩阵的示例。

4

0 回答 0