相关疑难解决方法(0)

SciPy中的2D插值问题,非矩形网格

我一直在尝试使用scipy.interpolate.bisplrep()和scipy.interpolate.interp2d()来查找我的(218x135)2D球面极坐标网格上的数据的插值.对于这些,我传递了我的网格节点的笛卡尔位置的2D数组X和Y. 我不断收到如下错误(对于interp2d的线性插入):

"警告:不能再添加结,因为额外的结会与旧结相吻合.可能原因:重量太小或太大,数据点不准确.(fp> s)kx,ky = 1,1 nx ,ny = 4,5 m = 29430 fp = 1390609718.902140 s = 0.000000"

我得到了二元样条曲线的类似结果和平滑参数s的默认值等.我的数据是平滑的.我已经附上了我的代码,以防我做了明显错误的事情.

有任何想法吗?谢谢!凯尔

class Field(object):
  Nr = 0
  Ntheta = 0
  grid = np.array([])

  def __init__(self, Nr, Ntheta, f):
    self.Nr = Nr
    self.Ntheta = Ntheta
    self.grid = np.empty([Nr, Ntheta])
    for i in range(Nr):
      for j in range(Ntheta):
        self.grid[i,j] = f[i*Ntheta + j]


def calculate_lines(filename):
  ri,ti,r,t,Br,Bt,Bphi,Bmag = np.loadtxt(filename, skiprows=3,\
    usecols=(1,2,3,4,5,6,7,9), unpack=True)
  Nr = int(max(ri)) + 1
  Ntheta = int(max(ti)) + 1

  ### Initialise …
Run Code Online (Sandbox Code Playgroud)

python interpolation scipy

7
推荐指数
1
解决办法
2万
查看次数

标签 统计

interpolation ×1

python ×1

scipy ×1