Python optimize库:拟合三阶多项式z=f(x,y) - 代码示例
要使用Python中的optimize库拟合关于x,y的三阶多项式,可以使用curve_fit函数。首先,需要导入必要的库:
import numpy as np
from scipy.optimize import curve_fit
然后,定义要拟合的三阶多项式函数:
def func(x, y, a, b, c, d, e, f, g):
return a + b*x + c*y + d*x*y + e*x**2 + f*y**2 + g*x**2*y
其中,a、b、c、d、e、f和g是拟合的参数。
接下来,准备数据。可以将x和y的值存储在numpy数组中:
x = np.array([1, 2, 3, 4, 5])
y = np.array([2, 3, 4, 5, 6])
z = np.array([5, 9, 15, 23, 33])
然后,使用curve_fit函数拟合多项式:
params, params_covariance = curve_fit(func, (x, y), z)
最后,打印出拟合的参数:
print(params)
完整的代码示例如下:
import numpy as np
from scipy.optimize import curve_fit
def func(x, y, a, b, c, d, e, f, g):
return a + b*x + c*y + d*x*y + e*x**2 + f*y**2 + g*x**2*y
x = np.array([1, 2, 3, 4, 5])
y = np.array([2, 3, 4, 5, 6])
z = np.array([5, 9, 15, 23, 33])
params, params_covariance = curve_fit(func, (x, y), z)
print(params)
请注意,该示例代码中包含了所有项的参数,你可以根据需要添加或修改函数和参数。
原文地址: https://www.cveoy.top/t/topic/oluJ 著作权归作者所有。请勿转载和采集!