欢迎来到代码驿站!

Python代码

当前位置:首页 > 软件编程 > Python代码

对python指数、幂数拟合curve_fit详解

时间:2021-01-25 10:28:24|栏目:Python代码|点击:

1、一次二次多项式拟合

一次二次比较简单,直接使用numpy中的函数即可,polyfit(x, y, degree)。

2、指数幂数拟合curve_fit

使用scipy.optimize 中的curve_fit,幂数拟合例子如下:

from scipy.optimize import curve_fit
import matplotlib.pyplot as plt
import numpy as np
 
def func(x, a, b, c):
 return a * np.exp(-b * x) + c
 
xdata = np.linspace(0, 4, 50)
y = func(xdata, 2.5, 1.3, 0.5)
ydata = y + 0.2 * np.random.normal(size=len(xdata))
plt.plot(xdata,ydata,'b-')
popt, pcov = curve_fit(func, xdata, ydata)
#popt数组中,三个值分别是待求参数a,b,c
y2 = [func(i, popt[0],popt[1],popt[2]) for i in xdata]
plt.plot(xdata,y2,'r--')
print popt

下面是原始数据和拟合曲线:

python指数、幂数拟合curve_fit

下面是指数拟合例子:

def fund(x, a, b):
 return x**a + b
 
xdata = np.linspace(0, 4, 50)
y = fund(xdata, 2.5, 1.3)
ydata = y + 4 * np.random.normal(size=len(xdata))
plt.plot(xdata,ydata,'b-')
popt, pcov = curve_fit(fund, xdata, ydata)
#popt数组中,三个值分别是待求参数a,b,c
y2 = [fund(i, popt[0],popt[1]) for i in xdata]
plt.plot(xdata,y2,'r--')
print popt

下图是原始数据和拟合曲线:

python指数、幂数拟合curve_fit

上一篇:Python的math模块中的常用数学函数整理

栏    目:Python代码

下一篇:Django框架静态文件使用/中间件/禁用ip功能实例详解

本文标题:对python指数、幂数拟合curve_fit详解

本文地址:http://www.codeinn.net/misctech/50890.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有