一种实现方法是改用scipy.optimize.leastsq(curve_fit是对minimumsq的方便包装).

将x数据一维堆叠; y数据的同上. 3个独立数据集的长度甚至无关紧要;我们称它们为n1,n2和n3,这样您的新x和y将具有形状(n1 n2 n3,).

在要优化的功能内,您可以方便地拆分数据.它不是最好的功能,但是可以正常工作:

def function(x, E, T, a, n, m):

return x/E + (a/n+1)*T^(n+1)*x^m

def leastsq_function(params, *args):

a = params[0]

n = params[1]

m = params[2]

x = args[0]

y = args[1]

E = args[2]

T = args[3]

n1, n2 = args[2]

yfit = np.empty(x.shape)

yfit[:n1] = function(x[:n1], E[0], T[0], a, n, m)

yfit[n1:n2] = function(x[n1:n2], E[1], T[1], a, n, m)

yfit[n2:] = function(x[n2:], E[2], T[2], a, n, m)

return y - yfit

params0 = [a0, n0, m0]

args = (x, y, (E0, E1, E2), (T0, T1, T2), (n1, n1+n2))

result = scipy.optimize.leastsq(leastsq_function, params0, args=args)

我没有测试过,但这是原理.现在,您正在将数据拆分为要优化的函数内的3个不同的调用.

请注意,scipy.optimize.leastsq仅需要一个函数,该函数返回要最小化的任何值,在这种情况下,实际y数据与拟合函数数据之间的差. Minimumsq中的实际重要变量是您要适合的参数,而不是x和y数据.后者作为额外的参数以及三个独立数据集的大小一起传递(我没有使用n3,为了方便起见,我已经对n1 n2进行了一些处理;请记住,在minimumsq_function中的n1和n2是局部的变量,而不是原始变量).

由于这是一个难以适应的函数(例如,可能没有平滑的导数),因此对于

>提供良好的起始值(params0,因此所有… 0值).

>没有跨数量级的数据或参数.一切都越接近1(肯定几个数量级就可以)越好.

python多变量拟合_python-使用scipy拟合多个参数曲线相关推荐

  1. python二元多次函数拟合_Python实现的拟合二元一次函数功能示例【基于scipy模块】...

    本文实例讲述了Python实现的拟合二元一次函数功能.分享给大家供大家参考,具体如下: 背景: 使用scipy拟合一元二次函数. 参考: HYRY Studio-<用Python做科学计算> ...

  2. python 三维曲线拟合_python实现三维拟合的方法

    如下所示: from matplotlib import pyplot as plt import numpy as np from mpl_toolkits.mplot3d import axes3 ...

  3. python非线性最小二乘拟合_python非线性最小二乘拟合

    这是一个如何使用scipy.optimize.leastsq的裸机示例: import numpy as np import scipy.optimize as optimize import mat ...

  4. python卷积函数_python – 理解Scipy卷积

    我试图理解Scipy提供的离散卷积与人们将获得的分析结果之间的差异.我的问题是输入信号的时间轴和响应函数如何与离散卷积输出的时间轴相关? 为了尝试回答这个问题,我考虑了一个带有分析结果的例子.我的输入 ...

  5. python卷积计算_Python使用scipy模块实现一维卷积运算示例

    本文实例讲述了python使用scipy模块实现一维卷积运算.分享给大家供大家参考,具体如下: 一 介绍 signal模块包含大量滤波函数.b样条插值算法等等.下面的代码演示了一维信号的卷积运算. 二 ...

  6. python ks检验_python – 使用Scipy的stats.kstest模块进行拟合优度测试

    一些例子可能会说明如何使用scipy.stats.kstest.让我们首先设置一些测试数据,例如通常以平均值5和标准差10分布: >>> data = scipy.stats.nor ...

  7. python自定义二元一次函数_Python实现的拟合二元一次函数功能示例【基于scipy模块】...

    本文实例讲述了Python实现的拟合二元一次函数功能.分享给大家供大家参考,具体如下: 背景: 使用scipy拟合一元二次函数. 参考: HYRY Studio-<用Python做科学计算> ...

  8. python多变量拟合_python多元拟合问题

    貌似关于多元拟合的使用没有太多文章进行讲解. 首先给出数据集:数据集 目标函数: 在python中,我们使用scipy.optimize库中的curve_fit,首先给出其官方文档中一些比较重要的参数 ...

  9. python二元函数图像在线绘制_Python实现的拟合二元一次函数功能示例【基于scipy模块】...

    Python实现的拟合二元一次函数功能示例[基于scipy模块] 发布时间:2020-08-31 00:46:24 来源:脚本之家 阅读:121 本文实例讲述了Python实现的拟合二元一次函数功能. ...

最新文章

  1. Java_小球自由落体_小球下落问题
  2. 活动目录组策略统一管理桌面
  3. 统计学习笔记(1) 监督学习概论(1)
  4. php 正则匹配unicode,PHP中正则表达式对UNICODE字符码的匹配方法
  5. maven关联oracle,maven添加oracle jdbc依赖
  6. Mine Video Player – 视频播放器WordPress插件
  7. SLAM 论文阅读和分类整理
  8. ARM发布自动驾驶芯片架构,重新宣示车载系统市场的主权
  9. zabbix client安装配置执行
  10. 冲击波病毒内幕点滴(4)
  11. 原生JS实现动态表格的生成
  12. 服务器都有哪些安全配置总结
  13. C# 根据主机名称获得IP
  14. 【vim】Darcula 配色设置
  15. 送给 xdm 的 10 个 web 在线前端资源,优雅永不过时~
  16. 脉歌蓝牙耳机线评测_脉歌 TE-40 蓝牙耳机“升级线”体验
  17. 笔记-Java基础语法-二进制
  18. 最近公共祖先(LCA,Tarjan)
  19. 入门电机系列之5编码器
  20. 【qttabbar】常用设置分享

热门文章

  1. BMP图片魔法师KeyGen
  2. arduino红外遥控库IRremote的IRsend类sendRaw函数溢出问题及其解决方法
  3. unity3d shader编程中GrabPass 在某些android手机上失效的解决方案
  4. BASE64Encoder cannot be resolved to a type类似问题的解决办法
  5. Swift - 异常处理
  6. SQLAlchemy按降序排列?
  7. 单元测试命名最佳实践[关闭]
  8. URI,URL和URN有什么区别?
  9. Gitlab+Gerrit+Jenkins完整对接
  10. sql性能分析(explain关键字)