iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python曲线拟合详解
  • 559
分享到

Python曲线拟合详解

Python关于曲线拟合Python曲线拟合 2023-05-16 17:05:14 559人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

目录入门参数多元拟合入门 scipy.optimize中,curve_fit函数可调用非线性最小二乘法进行函数拟合,例如,现在有一个高斯函数想要被拟合 则调用方法如下 import

入门

scipy.optimize中,curve_fit函数可调用非线性最小二乘法进行函数拟合,例如,现在有一个高斯函数想要被拟合

则调用方法如下

import numpy as np
from scipy.optimize import curve_fit
def gauss(x, a, b, c):
    return a*np.exp(-(x-b)**2/c**2)

x = np.arange(100)/10
y = gauss(x, 2, 5, 3) + np.random.rand(100)/10

# 非线性拟合 abc为参数;para为拟合评价
abc, para = curve_fit(gauss, x, y)
print(abc)
# [2.03042233 5.01182397 3.10994351]

其中,curve_fit在调用时输入了三个参数,分别是拟合函数、自变量、因变量。返回值abcpara分别为拟合参数和拟合的协方差,最终得到abc的值与预设的2,0.5, 3是比较接近的,其拟合效果可以画图查看一下

import matplotlib.pyplot as plt
plt.scatter(x, y, marker='.')

Y = gauss(x, *abc)
plt.plot(x, Y, lw=1)
plt.show()

效果如下

参数

curve_fit的装形式如下

curve_fit(f, xdata, ydata, p0=None, sigma=None, absolute_sigma=False, check_finite=True, bounds=(-inf, inf), method=None, jac=None, *, full_output=False, **kwargs)

除了f, xdata, ydata已经用过之外,其他参数的含义为

  • p0 拟合参数初始值
  • sigma 相对精度要求
  • absolute_sigma绝对精度要求
  • check_finite有限性检测开关
  • bounds拟合范围
  • method拟合方法,可选‘lm’, ‘trf’, ‘dogbox’,与least_squares函数中定义相同
  • jac雅可比矩阵,与least_squares中定义相同

 最小二乘函数:least_squares

多元拟合

尽管curve_fit的参数列表中,只给出了xdata, ydata作为拟合参数,而xdata只有一组,但curve_fit是具备多元拟合潜力的。

唯一需要注意的是,当多元拟合函数的返回值必须为一维数组,示例如下

# 创建一个函数模型用来生成数据
def func1(x, a, b, c, d):
    r = a * np.exp(-((x[0] - b) ** 2 + (x[1] - d) ** 2) / (2 * c ** 2))
    return r.ravel()
 
# 生成原始数据
xx = np.indices([10, 10])
z = func1(xx, 10, 5, 2, 5) + np.random.nORMal(size=100)/100
abcd, para = curve_fit(func1, xx, z)
print(abcd)
# [10.00258587  5.00146314  1.99952885  5.00138184]

可以发现拟合结果与预设的abcd还是比较接近的,下面绘制三维图像来更加直观地查看一下

z = z.reshape(10, 10)
Z = func1(xx, *abcd).reshape(10,10)

ax = plt.subplot(projection='3D')
ax.scatter3D(xx[0], xx[1], z, color='red')
ax.plot_surface(xx[0], xx[1], Z, cmap='rainbow')
plt.show()

结果如下

到此这篇关于python曲线拟合详解的文章就介绍到这了,更多相关Python曲线拟合内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Python曲线拟合详解

本文链接: https://www.lsjlt.com/news/210392.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python曲线拟合详解
    目录入门参数多元拟合入门 scipy.optimize中,curve_fit函数可调用非线性最小二乘法进行函数拟合,例如,现在有一个高斯函数想要被拟合 则调用方法如下 import...
    99+
    2023-05-16
    Python关于曲线拟合 Python曲线拟合
  • Python曲线拟合多项式深入详解
    目录np.polyfit 多项式拟合例1例2curve_fit () 自定义函数拟合scipy.interpolate.interpnd 插值拟合np.polyfit 多项式拟合 在...
    99+
    2022-11-13
    Python拟合曲线 python曲线拟合的方式 python拟合函数
  • 如何利用Python拟合函数曲线详解
    目录拟合多项式函数说明拟合任意函数函数说明总结使用Python拟合函数曲线需要用到一些第三方库: numpy:科学计算的基础库(例如:矩阵)matplotlib:绘图库scipy:科...
    99+
    2024-04-02
  • python3-曲线拟合(polyfit
    【polyfit】多项式曲线拟合 【polyval】多项式曲线求值 import numpy as np import matplotlib.pyplot as plt x_data = np.random.rand(100).as...
    99+
    2023-01-31
    曲线 polyfit
  • Python曲线拟合(polyfit , curve_fit, interp1d插值)
    文章目录 np.polyfit 多项式拟合例1例2 curve_fit () 自定义函数拟合scipy.interpolate.interpnd 插值拟合References ...
    99+
    2023-09-15
    python 拟合 回归
  • python如何根据点来拟合曲线
    在Python中,可以使用`numpy.polyfit`函数来根据给定的点拟合曲线。`numpy.polyfit`函数的使用方法如下...
    99+
    2023-10-07
    python
  • 怎么利用Python拟合函数曲线
    这篇文章主要介绍“怎么利用Python拟合函数曲线”,在日常操作中,相信很多人在怎么利用Python拟合函数曲线问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么利用Python拟合函数曲线”的疑惑有所帮助!...
    99+
    2023-06-30
  • Python做曲线拟合(一元多项式拟合及任意函数拟合)
    目录 1. 一元多项式拟合 使用方法 np.polyfit(x, y, deg) 2. 任意函数拟合 使用 curve_fit() 方法 实例: (1)初始化 x 和 y 数据集 (2)建立自定义函数 (3)使用自定义的函数生成拟合函数绘图...
    99+
    2023-09-09
    python 开发语言
  • matlab曲线拟合器如何使用
    在MATLAB中,可以使用polyfit函数进行曲线拟合。其语法如下: p = polyfit(x, y, n) 其中,x和y分别...
    99+
    2024-04-02
  • matlab中如何绘制拟合曲线
    在MATLAB中绘制拟合曲线可以通过使用polyfit函数来拟合数据,并使用polyval函数来计算拟合曲线的值。下面是一个简单的例...
    99+
    2024-04-02
  • matlab多组数据如何拟合曲线
    在Matlab中,可以使用polyfit函数来拟合多组数据的曲线。polyfit函数的语法如下: p = polyfit(x, y,...
    99+
    2024-04-02
  • Python实现批量梯度下降法(BGD)拟合曲线
    1. 导入库 import numpy as np #矩阵运算 import matplotlib.pyplot as plt #可视化 import random #产生数据扰...
    99+
    2024-04-02
  • Python使用scipy进行曲线拟合的方法实例
    目录导读曲线拟合总结导读 曲线拟合的应用在生活中随处可见,不知道大家是否还记得物理实验中的自由落体运动中下降高度与时间关系之间的探究,在初速度为0的情况下,我们想要探究下降高度与时间...
    99+
    2024-04-02
  • python拟合三维数据的曲面
    用python拟合三维数据的曲面,并画出曲面的等高线图,求出曲面的波峰和波谷 要拟合三维数据的曲面,可以使用Python中的SciPy库和Matplotlib库。下面是一个示例代码,其中使用RBF(径向基函数)插值来拟合数据,并使用Matp...
    99+
    2023-09-14
    python matplotlib 开发语言
  • C#最小二乘法拟合曲线成直线的实例
    目录最小二乘法拟合曲线成直线效果总结最小二乘法拟合曲线成直线 效果 拟合前 拟合后 传入X轴和Y轴的数据,得到新的Y轴数据。 将X值数据和拟合后的Y轴数据绑带即可。 /// ...
    99+
    2023-02-26
    C#最小二乘法 C#拟合曲线 C#直线
  • matlab怎么拟合多条曲线在一个图里
    在Matlab中,您可以使用fit函数来拟合多条曲线并在同一个图中显示。以下是一个示例代码: % 创建一些示例数据 x = 0:0....
    99+
    2024-04-02
  • 怎么使用C#最小二乘法拟合曲线成直线
    这篇文章主要介绍了怎么使用C#最小二乘法拟合曲线成直线的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么使用C#最小二乘法拟合曲线成直线文章都会有所收获,下面我们一起来看看吧。最小二乘法拟合曲线成直线效果拟合前...
    99+
    2023-07-05
  • 使用Python绘制三种概率曲线详解
    目录曲线一解释代码实现曲线二解释代码实现曲线三代码实现曲线一 解释 这里是使用matplotlib来绘制正态分布的曲线。 代码实现 import numpy as np import...
    99+
    2024-04-02
  • Python+NumPy绘制常见曲线的方法详解
    目录一、利萨茹曲线二、计算斐波那契数列三、方波四、锯齿波和三角波在NumPy中,所有的标准三角函数如sin、cos、tan等均有对应的通用函数。 一、利萨茹曲线 (Lissajous...
    99+
    2024-04-02
  • Python绘制loss曲线、准确率曲线
    Python 绘制 loss 曲线、准确率曲线 使用 python 绘制网络训练过程中的的 loss 曲线以及准确率变化曲线,这里的主要思想就时先把想要的损失值以及准确率值保存下来,保存到 .txt ...
    99+
    2023-10-05
    python 机器学习 人工智能
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作