我的数据集为363 x-乘190 y-points,并且我将在多个不同的子区域中集成相关的功能值。我已尝试创建SciPy interp2d
函数整合;然而,即使使用线性插值,创建该功能已花了2个多小时(尚未完成)。
执行此任务的更好方法是什么?
下面的一些片段......
在下面的convert_RT_to_XY
函数中,imb / jmb是我转换为笛卡尔边界的r,theta网格边界。
稍后,在我的代码中,我将网格边界(imb / jmb)转换为网格中心值(imm,jmm),转换为向量(iX,iY),将我的函数转换为向量(iZ),然后尝试进行插值功能。
# Convert R, T mesh vectors to X, Y mesh arrays.
def convert_RT_to_XY(imb, jmb):
R, T = np.meshgrid(imb,jmb)
X = R * np.cos(np.radians(T*360))
Y = R * np.sin(np.radians(T*360))
return(X, Y)
...
imm = imb[:-1]+np.divide(np.diff(imb),2)
jmm = jmb[:-1]+np.divide(np.diff(jmb),2)
iX, iY = convert_RT_to_XY(imm, jmm)
iX = np.ndarray.flatten(iX)
iY = np.ndarray.flatten(iY)
iZ = np.ndarray.flatten(plot_function)
f = interpolate.interp2d(iX, iY, iZ, kind='linear')
最终,我想表演:
result = dblquad(f, 10, 30,
lambda x: 10,
lambda x: 30))