• https://stackoverflow.com/questions/29382903/how-to-apply-piecewise-linear-fit-in-python

使用 np.piecewise 创建分段函数,使用 scipy.optimize.curve_fit 进行拟合:

from scipy import optimize
import matplotlib.pyplot as plt
import numpy as np
%matplotlib inlinex = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ,11, 12, 13, 14, 15], dtype=float)
y = np.array([5, 7, 9, 11, 13, 15, 28.92, 42.81, 56.7, 70.59, 84.47, 98.36, 112.25, 126.14, 140.03])# 一个输入序列,4个未知参数,2个分段函数
def piecewise_linear(x, x0, y0, k1, k2):# x<x0 ⇒ lambda x: k1*x + y0 - k1*x0# x>=x0 ⇒ lambda x: k2*x + y0 - k2*x0return np.piecewise(x, [x < x0, x >= x0], [lambda x:k1*x + y0-k1*x0, lambda x:k2*x + y0-k2*x0])# 用已有的 (x, y) 去拟合 piecewise_linear 分段函数
p , e = optimize.curve_fit(piecewise_linear, x, y)xd = np.linspace(0, 15, 100)
plt.plot(x, y, "o")
plt.plot(xd, piecewise_linear(xd, *p))
  • np.piecewise(x, condlist, funclist, *args, **kw)

    • condlist[i] 和 funclist[i] 一一对应,
    • 如果 len(funclist) == len(condlist)+1,则多出来的 funclist 表示默认的情况;

python 分段拟合(curve fit)相关推荐

  1. matlab简单拟合,polyfit和curve fit tool(鱼的质量与身长和腰围的关系)

    在下小白,只会用简单的curve fit中的polynomial和equation,这里简单介绍了一下用工具箱,poly fit函数拟合和计算相对误差的方法,模型建立如有不合理之处,纯属为了练手而建模 ...

  2. python拟合非线性模型_python-绘制分段拟合到非线性数据

    我有一个与this previous StackOverflow question类似的问题.我有一个数据集,我想将几??个分段函数拟合到该数据集中,然后绘制结果. 数据在下面以红色绘制. 为了提供一 ...

  3. python 幂数拟合及拟合度计算

    有时候对数据的分析处理,需要进行曲线拟合,python提供了丰富的工具,其中scipy中的curve_fit可以用来进行幂数拟合或者指数拟合等各种类型的拟合. 先定义好要拟合的函数形式target_f ...

  4. python分段线性插值_[Python] 分段线性插值

    利用线性函数做插值 每一段的线性函数: #Program 0.6 Linear Interploation import numpy as np import matplotlib.pyplot as ...

  5. python函数拟合不规则曲线_python曲线拟合

    Python曲线拟合 前言 这篇文章的由来:前几天在做大学物理居家实验水滴法测量声速的时候需要使用phyphox软件导出的数据拟合y=1/(a+b*x)曲线.虽然老师要求使用Origin软件拟合,但是 ...

  6. python数据拟合

    python数据拟合 文章目录 python数据拟合 1.多项式拟合 1.1 多项式拟合描述 1.2 多项式拟合实现 2.自定义函数拟合 2.1 自定义函数拟合描述 2.1 自定义函数拟合的实现 1. ...

  7. python分段函数编写程序_python分段函数如何编写?

    python分段函数如何编写? python编写分段函数的方法: 1.绘制分段函数:y=4sin(4πt)-sgn(t-0.3)-sgn(0.72-t) 代码: #!/usr/bin/python# ...

  8. Python数据拟合幂函数y=ax^b

    Python数据拟合--幂函数y=ax^b from scipy.optimize import curve_fit import numpy as np import matplotlib.pypl ...

  9. python多项式拟合:np.polyfit 和 np.polyld

    python数据拟合主要可采用numpy库,库的安装可直接用pip install numpy等. 这段代码可以直接用,但是要用自己的值 #多项式拟合 y = data_jiedian_2 #输入自己 ...

最新文章

  1. 构建一个移动应用程序要花多少钱?
  2. 二手服务器cpu性能,二手服务器cpu当主机
  3. 这可能是对 IOC 和 DI 解释的最清楚的一篇文章了!
  4. 增强现实(Augmented Reality)浅谈
  5. 百度搜索打不开第二页_北易信息:百度爱采购适合做优化推广吗
  6. 《系统集成项目管理工程师》必背100个知识点-22实施整体变更ITTO
  7. 编写代码的若干个基本规则(以Java为例)
  8. python-操作数据库的练习
  9. 【动态规划】LeetCode 1143最长公共子序列
  10. c++ sort 从大到小排序_常用排序算法速度比较
  11. jsp小区停车位管理系统
  12. vue3的生命周期函数
  13. 基于K-Means聚类算法对NBA球员数据的聚类分析
  14. 不做“学术媛‘,女博士毕业后遭妈妈吐槽“只学习不社交”
  15. JAVA中的前后端交互
  16. 零基础 Python学习
  17. 王半仙儿的日记-0003
  18. 【流媒体】Red5流媒体服务器开发总结
  19. 物联网工程是怎样一种存在
  20. nmap mysql爆破_关于Nmap的简单爆破

热门文章

  1. StrangeIoC —— Unity MVC 专属框架
  2. MySQL Front远程连接数据库
  3. linux登录界面说明,Linux登录界面以及简单使用入门
  4. java manualbuffer_java从很大的buffer数组中每次读128字节 读到最后不足128字节的用0xff补齐 这个代码怎么写 ?没有思路哎...
  5. Redis的复制(Master/Slave)
  6. ps html css 工具,Photoshop之CSS切图时ps软件常用工具
  7. Linux安装docker及docker基本操作
  8. 关于如何打开一张jpg图片文件并存放到vector unsigned char中的讨论
  9. vue学习---生命周期钩子activated,deactivated
  10. 数论(Mathmatics)总结[1]