对python指数、幂数拟合curve_fit详解
作者:yefengzhichen 时间:2022-12-03 16:28:52
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
下面是原始数据和拟合曲线:
下面是指数拟合例子:
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
下图是原始数据和拟合曲线:
来源:https://blog.csdn.net/yefengzhichen/article/details/52767733
标签:python,指数,幂数,拟合


猜你喜欢
详解Python中for循环的使用方法
2023-06-12 10:53:19

JS图形技术的终极体现
2008-04-30 19:43:00

python第三方库pygame的使用详解
2023-07-21 13:27:19

详解python关于多级包之间的引用问题
2021-04-16 19:58:17

Golang的关键字defer的使用方法
2023-07-12 21:10:49

从源码解析Python的Flask框架中request对象的用法
2021-02-20 02:15:57
laravel执行php artisan migrate报错的解决方法
2024-06-05 09:44:39

使用python实现一个简单ping pong服务器
2022-10-25 03:38:48

python超时重新请求解决方案
2022-04-22 00:16:12
python异步任务队列示例
2021-05-04 03:09:07
关于ASP循环表格的问题之解答[比较详细]
2011-04-08 11:14:00
python 同时读取多个文件的例子
2022-06-27 03:56:50
PHP getNamespaces()函数讲解
2023-06-11 07:32:45

查看Django和flask版本的方法
2021-01-29 02:50:11
在python中读取和写入CSV文件详情
2021-01-21 22:34:51

Oracle 常用的SQL语句
2024-01-17 08:55:26
Keras神经网络efficientnet模型搭建yolov3目标检测平台
2021-10-08 11:45:33

Python 的类、继承和多态详解
2021-05-29 17:31:51
pandas 数据结构之Series的使用方法
2022-08-13 15:56:39
php生成shtml类用法实例
2023-11-15 21:46:23