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

如何利用Python拟合函数曲线详解

2024-04-02 19:04:59 150人浏览 八月长安

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

摘要

目录拟合多项式函数说明拟合任意函数函数说明总结使用python拟合函数曲线需要用到一些第三方库: numpy:科学计算的基础库(例如:矩阵)matplotlib:绘图库scipy:科

使用python拟合函数曲线需要用到一些第三方库:

  • numpy:科学计算的基础库(例如:矩阵)
  • matplotlib:绘图库
  • scipy:科学计算库

如果没有安装过这些库,需要在命令行中输入下列代码进行安装:

pip install numpy matplotlib scipy

拟合多项式

'''
Author: CloudSir
Date: 2021-08-01 13:40:50
LastEditTime: 2021-08-02 09:41:54
LastEditors: CloudSir
Description: Python拟合多项式
https://GitHub.com/cloudsir
'''
import matplotlib.pyplot as plt
import numpy as np
 
x = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
y = [2.83, 9.53, 14.52, 21.57, 38.26, 53.92, 73.15, 101.56, 129.54, 169.75, 207.59]
z1 = np.polyfit(x, y, 3) #用3次多项式拟合,输出系数从高到0
p1 = np.poly1d(z1) #使用次数合成多项式
y_pre = p1(x)
 
plt.plot(x,y,'.')
plt.plot(x,y_pre)
plt.show()

函数说明

np.polyfit(x, y, n)

功能:拟合曲线

参数:

  • x,y:x和y的原始数据
  • n:要拟合的次数

返回值:

  • 一个列表,拟合出的系数,顺序为从高到底

例: n=3时,会利用
a x 3 + b x 2 + c x + d 
拟合函数,并返回拟合出的系数 [a, b, c, d]​​​​

np.poly1d(li, r=False)

功能:生成多项式函数

参数:

li:

当没有r参数或 r=False 时,传入一个系数列表(次数从高到低),利用该列表生成多项式函数并返回

import numpy as np

f = np.poly1d([2, 3, 4])

“”" f ( x ) = 2 x 2 + 3 x + 4
"""

print(f(2)) # 18

当参数 r=True 时,传入一个根列表,利用该列表生成多项式函数并返回

import numpy as np

f = np.poly1d([2, 3, 4], True)

“”“ f ( x ) = ( x − 2 ) ∗ ( x − 3 ) ∗ ( x − 4 )
”""

print(f(0)) # -24

返回值:

见上

拟合任意函数

'''
Author: CloudSir
Date: 2021-08-03 15:01:17
LastEditTime: 2021-08-03 15:26:05
LastEditors: CloudSir
Description: Python拟合任意函数
Https://github.com/cloudsir
'''
# 引用库函数

import numpy as np
import matplotlib.pyplot as plt
from scipy import optimize as op

plt.rcParams['font.sans-serif'] = ['SimHei']  # 用来正常显示中文
plt.rcParams['axes.unicode_minus'] = False    # 用来正常显示负号

# 需要拟合的函数
def f_1(x, A, B, C):
    return A * x**2 + B * x + C

# 需要拟合的数据组
x_group = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
y_group = [2.83, 9.53, 14.52, 21.57, 38.26, 53.92, 73.15, 101.56, 129.54, 169.75, 207.59]

# 得到返回的A,B值
A, B, C = op.curve_fit(f_1, x_group, y_group)[0]

# 数据点与原先的进行画图比较
plt.scatter(x_group, y_group, marker='o',label='真实值')
x = np.arange(0, 15, 0.01)
y = A * x**2 + B *x + C
plt.plot(x, y,color='red',label='拟合曲线')
plt.legend() # 显示label

plt.show()

函数说明

op.curve_fit(f, x, y)

功能:拟合任意函数

参数:

f:要拟合的函数类型

# 构建一个二次函数
def f(x, A, B, C):
    return A * x**2 + B * x + C

op.curve_fit(f, x, y) # 进行拟合

x, y:x和y的原始数据

返回值:一个元组 (popt,pcov)

  • popt是一个一维数组,表示得到的拟合方程的参数。
  • pcov是一个二维数组,是在popt参数下得到的协方差。

总结

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

--结束END--

本文标题: 如何利用Python拟合函数曲线详解

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

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

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

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

下载Word文档
猜你喜欢
  • 如何利用Python拟合函数曲线详解
    目录拟合多项式函数说明拟合任意函数函数说明总结使用Python拟合函数曲线需要用到一些第三方库: numpy:科学计算的基础库(例如:矩阵)matplotlib:绘图库scipy:科...
    99+
    2024-04-02
  • 怎么利用Python拟合函数曲线
    这篇文章主要介绍“怎么利用Python拟合函数曲线”,在日常操作中,相信很多人在怎么利用Python拟合函数曲线问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么利用Python拟合函数曲线”的疑惑有所帮助!...
    99+
    2023-06-30
  • 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绘制科赫曲线
    目录1. 递归1.1 定义1.2 数学归纳法2. 递归的使用方法2.1 阶乘2.2 字符串反转3. 科赫曲线的绘制3.1 概要3.2 绘制科赫曲线3.3 科赫曲线的雪花效果3.4 分...
    99+
    2024-04-02
  • Python做曲线拟合(一元多项式拟合及任意函数拟合)
    目录 1. 一元多项式拟合 使用方法 np.polyfit(x, y, deg) 2. 任意函数拟合 使用 curve_fit() 方法 实例: (1)初始化 x 和 y 数据集 (2)建立自定义函数 (3)使用自定义的函数生成拟合函数绘图...
    99+
    2023-09-09
    python 开发语言
  • python如何根据点来拟合曲线
    在Python中,可以使用`numpy.polyfit`函数来根据给定的点拟合曲线。`numpy.polyfit`函数的使用方法如下...
    99+
    2023-10-07
    python
  • matlab多组数据如何拟合曲线
    在Matlab中,可以使用polyfit函数来拟合多组数据的曲线。polyfit函数的语法如下: p = polyfit(x, y,...
    99+
    2024-04-02
  • matlab曲线拟合器如何使用
    在MATLAB中,可以使用polyfit函数进行曲线拟合。其语法如下: p = polyfit(x, y, n) 其中,x和y分别...
    99+
    2024-04-02
  • 如何利用Javascript生成平滑曲线详解
    目录前言贝塞尔曲线简介二次贝塞尔曲线三次贝塞尔曲线贝塞尔曲线计算函数拟合算法附录:Vector2D相关的代码总结前言 平滑曲线生成是一个很实用的技术 很多时候,我们都需要通过绘制一...
    99+
    2024-04-02
  • matlab中如何绘制拟合曲线
    在MATLAB中绘制拟合曲线可以通过使用polyfit函数来拟合数据,并使用polyval函数来计算拟合曲线的值。下面是一个简单的例...
    99+
    2024-04-02
  • python如何拟合函数
    在python中使用curve_fit方法拟合函数,具体方法如下:mport numpy as npimport matplotlib.pyplot as pltfrom scipy.optimize import curve_fitdef...
    99+
    2024-04-02
  • 如何利用python做数据拟合
    这篇文章将为大家详细讲解有关如何利用python做数据拟合,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1、例子:拟合一种函数Func,此处为一个指数函数。出处:SciPy v1.1.0 Referenc...
    99+
    2023-06-25
  • 利用python做数据拟合详情
    目录1、例子:拟合一种函数Func,此处为一个指数函数。2. 例子:拟合一个Gaussian函数3. 用一个lmfit的包来实现2中的Gaussian函数拟合1、例子:拟合一种函数F...
    99+
    2024-04-02
  • Python实现绘制多种激活函数曲线详解
    利用numpy、matplotlib、sympy绘制sigmoid、tanh、ReLU、leaky ReLU、softMax函数 起因:深度学习途中,老师留一作业,绘制激活函数及其导...
    99+
    2023-05-16
    Python绘制激活函数曲线 Python 激活函数曲线 Python 曲线
  • 基于canvas如何使用贝塞尔曲线平滑拟合折线段
    小编给大家分享一下基于canvas如何使用贝塞尔曲线平滑拟合折线段,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!为什么要平滑拟合折线段先来看下Echarts下折线图的渲染效果: 一开始我没注意到其实这个折线段是曲...
    99+
    2023-06-09
  • Python使用scipy进行曲线拟合的方法实例
    目录导读曲线拟合总结导读 曲线拟合的应用在生活中随处可见,不知道大家是否还记得物理实验中的自由落体运动中下降高度与时间关系之间的探究,在初速度为0的情况下,我们想要探究下降高度与时间...
    99+
    2024-04-02
  • 如何在Python中利用matplotlib.pyplot画出函数图详解
    目录0、引言1、绘图(1)导入所需库(2)设置函数(3)plt.figure()(4)plt.plot(),plt.axhline(),plt.axvline(),plt.axhsp...
    99+
    2024-04-02
  • 使用Python绘制三种概率曲线详解
    目录曲线一解释代码实现曲线二解释代码实现曲线三代码实现曲线一 解释 这里是使用matplotlib来绘制正态分布的曲线。 代码实现 import numpy as np import...
    99+
    2024-04-02
  • JS前端使用canvas动态绘制函数曲线示例详解
    目录前言第一步:绘制坐标系1、如何确定 x 轴和 y 轴的边界值2、不是传入多少网格数就是多少网格3、如何让坐标原点位于画布中心4、刻度总是会有浮点数第二步:画函数曲线第三步:绘制辅...
    99+
    2022-11-13
    JS canvas绘制函数曲线 JS canvas
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作