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

本文介绍了如何在Python中使用`scipy.optimize.curve_fit`函数将多条曲线拟合成一条。通过定义共享参数的两个函数,对不同数据集进行联合拟合,并展示拟合结果的图形,提供了一个完整的代码示例。
摘要由CSDN通过智能技术生成

我认为这个绘图代码示例可以满足您的需要,用一个共享参数拟合两个数据集。请注意,如果数据集的长度不相等,则可以有效地将拟合加权到具有更多单独点的数据集。本例显式地将初始参数值设置为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

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值