python多条曲线拟合成一条_如何执行多条曲线的关节拟合(在Python中)?

我认为这个绘图代码示例可以满足您的需要,用一个共享参数拟合两个数据集。请注意,如果数据集的长度不相等,则可以有效地将拟合加权到具有更多单独点的数据集。本例显式地将初始参数值设置为1,0(curve_fit()默认值),并且不使用scipy的遗传算法来帮助找到初始参数估计值。在import numpy as np

import matplotlib

import matplotlib.pyplot as plt

from scipy.optimize import curve_fit

y1 = np.array([ 16.00, 18.42, 20.84, 23.26])

y2 = np.array([-20.00, -25.50, -31.00, -36.50, -42.00])

comboY = np.append(y1, y2)

x1 = np.array([5.0, 6.1, 7.2, 8.3])

x2 = np.array([15.0, 16.1, 17.2, 18.3, 19.4])

comboX = np.append(x1, x2)

if len(y1) != len(x1):

raise(Exception('Unequal x1 and y1 data length'))

if len(y2) != len(x2):

raise(Exception('Unequal x2 and y2 data length'))

def function1(data, a, b, c): # not all parameters are used here, c is shared

return a * data + c

def function2(da

你可能感兴趣的:(python多条曲线拟合成一条)