本文实例讲述了Python基于最小二乘法实现曲线拟合。分享给大家供大家参考,具体如下:

这里不手动实现最小二乘,调用scipy库中实现好的相关优化函数。

考虑如下的含有4个参数的函数式:

构造数据

import numpy as np from scipy import optimize import matplotlib.pyplot as plt def logistic4(x, A, B, C, D): return (A-D)/(1+(x/C)**B)+D def residuals(p, y, x): A, B, C, D = p return y - logisctic4(x, A, B, C, D) def peval(x, p): A, B, C, D = p return logistic4(x, A, B, C, D) A, B, C, D = .5, 2.5, 8, 7.3 x = np.linspace(0, 20, 20) y_true = logistic4(x, A, B, C, D) y_meas = y_true + 0.2 * np.random.randn(len(y_true))

调用工具箱函数,进行优化

p0 = [1/2]*4 plesq = optimize.leastsq(residuals, p0, args=(y_meas, x)) # leastsq函数的功能其实是根据误差(y_meas-y_true) # 估计模型(也即函数)的参数

绘图

plt.figure(figsize=(6, 4.5)) plt.plot(x, peval(x, plesq[0]), x, y_meas, o, x, y_true) plt.legend([Fit, Noisy, True], loc=upper left) plt.title(least square for the noisy data (measurements)) for i, (param, true, est) in enumerate(zip(ABCD, [A, B, C, D], plesq[0])): plt.text(11, 2-i*.5, {} = {:.2f}, est({:.2f}) = {:.2f}.format(param, true, param, est)) plt.savefig(./logisitic.png) plt.show()

PS:这里再为大家推荐两款相似的在线工具供大家参考:

在线多项式曲线及曲线函数拟合工具:

在线绘制多项式/函数曲线图形工具:

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数学运算技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》

希望本文所述对大家Python程序设计有所帮助。

在python中使用最小二乘法画出拟合曲线_Python基于最小二乘法实现曲线拟合示例...相关推荐

  1. 在python中使用最小二乘法画出拟合曲线_基于jupyter notebook的python编程-----运用最小二乘法,导入文件数据模拟一元线性回归分析...

    基于jupyter notebook的python编程-----运用最小二乘法,导入文件数据模拟一元线性回归分析 用最小二乘法模拟一元线性回去曲线的目录 一.运行jupyter notebook,搭建 ...

  2. python六角星_在Python中使用龟画出不同边长的六角星。

    希望我能解释得很好.我目前使用helper函数在python的turtle graphics窗口中绘制一个六角星.首先,我们必须创建一个绘制三角形的函数.这是我的代码:在Python中使用龟画出不同边 ...

  3. 安装Anaconda以及在pycharm中编写程序画出坐标轴

    安装Anaconda以及在pycharm中编写程序画出坐标轴 1.安装Anaconda 最近实训了,实训科目是python,第一节课老师让我们安装anaconda,说是和pycharm同时运用,废话不 ...

  4. 在画图软件中,可以画出不同大小或颜色的圆形、矩形等几何图形。几何图形之间有许多共同的特征,如它们可以是用某种颜色画出来的,可以是填充的或者不填充的。此外还有些不同的特征,比如,圆形都有半径,可以根据半

    代码 import org.w3c.dom.ls.LSOutput;/*在画图软件中,可以画出不同大小或颜色的圆形.矩形等几何图形.几何图形之间有许多共同的特征,如它们可以是用某种颜色画出来的,可以是 ...

  5. Python中字符串String去除出换行符(\n,\r)和空格的问题

    Python中字符串String去除出换行符和空格的问题(\n,\r) 在Python的编写过程中,获取到的字符串进场存在不明原因的换行和空格,如何整合成一个单句,成为问题. 方法: 一.去除空格 & ...

  6. pythonturtle怎么画曲线_『怎么用python中的turtle画希尔伯特曲线』python画曲线图教程...

    Python 3 简单编程 画曲线图帮助! 曲线图--- 代码----from math import factorial import numpy as np import matplotlib.p ...

  7. 用Python在Excel里画出蒙娜丽莎的方法示例

    更多编程教程请到:菜鸟教程 https://www.piaodoo.com/ 友情链接: 高州阳光论坛https://www.hnthzk.com/ 人人影视http://www.sfkyty.com ...

  8. matlab画出拟合的曲线,matlab画出拟合曲线

    matlab曲线拟合 39页 免费 用微软excel进行非线性曲线... 21页... 曲线拟合工具箱 (Curve Fitting Toolbox) 对数据进行曲线拟合,给出数学建模中的实例 用以介 ...

  9. python如何使用plt画出漂亮的柱状图(条形图)

    如何使用plt画出漂亮的柱状图(条形图) 1.配置环境 2.效果图 3.绘图代码 4.代码解释 5.结束语 1.配置环境 使用环境:python3.7 平台:Windows10 工具:matplotl ...

  10. python居然还能画出这么精美的魔法少女,惊我一整年

    前言 大家早好.午好.晚好吖 ❤ ~ 对于上面漫小姐姐图,大家觉得好不好看呢 这种极简的线条画出超具魅力的小姐姐图 简直不要太击中小心脏 接下来,我们就用python来实现一下,画出一个好看的少女~ ...

最新文章

  1. iOS应用架构谈 组件化方案
  2. S-D5舵机拆开看一看
  3. PIE SDK图层树伙伴控件示例
  4. 读书笔记:做人不要太老实读后感
  5. 做项目管理PM人的特质
  6. 【收藏】Vue+elementUI的this.$refs.对象名.方法名的理解
  7. Web 前端——项目文件夹命名规范
  8. 【神经网络八股扩展】:自制数据集
  9. Linux添加网站后无法显示,Linux:SElinux导致网站无法访问
  10. shell学习笔记二
  11. opencv +opencv_contrib+CMake+VS2015
  12. python 基础学习1
  13. 据说是学习python最全的资料
  14. 以下选项中不是具体的python序列类型是_智慧树知到《大数据分析的python基础》章节测试答案...
  15. Mplayer SMplayer 软件配置
  16. 2022国赛论文及可运行代码
  17. 看EyeEm如何在产品开发中整合、运用深度学习模型
  18. Web3:创作者经济的黄金时代
  19. C++ winpcap网络抓包代码实现,以及抓包内容解析。
  20. 曲线积分、曲面积分、二重积分、三重积分、定积分之间的转换

热门文章

  1. Linux 部分(tcp\ip)系统内核优化
  2. 为什么要使用Keil MDK-ARM中间件库?
  3. Linux 天翼3G上网
  4. Code snippet of the day : Get Chinese Spell in C#
  5. java给xyz大小排序_Java Collection - 002 排序
  6. 软考中级软件设计师笔记第一章计算机组成与体系结构
  7. JavaScript —— Symbol数据类型之不延伸
  8. phpstom可以配置php环境吗_环境配置 · PhpStorm · 看云
  9. sun键盘没有stop键_【转帖】SUN基础知识
  10. 运用集合把文字写入读出文件