3
我有三列非結構化數據,並且想要對它們進行二元樣條擬合。我對Python中的類還不太熟悉,所以我不明白如何做到這一點。爲了表示我的問題,我做了一個簡單的代碼:在網格上評估SmoothBivariateSpline
#! /usr/bin/env python3
import numpy as np
from scipy import interpolate
#an array of 3 columns:
a=np.zeros((200, 3))
a[:,0]=np.random.uniform(0,1,200)
a[:,1]=np.random.uniform(3,5,200)
a[:,2]=np.random.uniform(10,12,200)
#find the boundries
min_x, max_x = np.amin(a[:,0]), np.amax(a[:,0])
min_y, max_y = np.amin(a[:,1]), np.amax(a[:,1])
#Set the resolution:
x_res=1000
y_res=int(((max_y-min_y)/(max_x-min_x))*x_res)
#Make a grid
grid_x, grid_y = np.mgrid[min_x:max_x:x_res*1j, min_y:max_y:y_res*1j]
sbsp=interpolate.SmoothBivariateSpline(a[:,0], a[:,1], a[:,2])
b=sbsp.ev(4,5)
#c=sbsp.ev(grid_x, grid_y)
print(b)
這給出了一個點的插值,但是如果你註釋掉最後第二條,這是行不通的。如果有人能指導我如何在網格上獲取樣條插值,我將非常感激。提前致謝。