我正在使用numpy库的SmoothBivariateSpline来获取数据的表面拟合。
默认情况下,双变量样条的度数是3.当我拟合数据时,如果度数是3,我应该分别在x和y方向上得到16个系数和8个结点。其中一个样条拟合(f1)正在发生这种情况。但是我得到25个系数和9个结点用于第二次拟合(f2)。
有人可以告诉我为什么我会得到更多的系数?如果你想我也可以分享我的数据文件。
这是我的代码
import numpy as np
# loading the txt file from where i am reading data
L = np.loadtxt('DATA_File_PT.txt')
P = L[:,0] # pressure
T = L[:,1] # temperature
H = L[:,2] # enthalpy
Rho = L[:,3] # density
# fitting Spline for each set (I have P and T as independent variable, H and Rho are dependent)
f1 = interpolate.SmoothBivariateSpline(P, T, H, kx=3, ky=3)
f2 = interpolate.SmoothBivariateSpline(P, T, Rho, kx=3, ky=3)
o1=f1.get_knots()
coeff1 = f1.get_coeffs()
o2=f2.get_knots()
coeff2 = f2.get_coeffs()