Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

python curve_fit

作者:冷月魄   发布日期:2025-03-06   浏览:112

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

# 定义要拟合的函数形式,例如指数衰减函数
def func(x, a, b, c):
    return a * np.exp(-b * x) + c

# 生成一些示例数据,包含噪声
x_data = np.linspace(0, 4, 50)
y = func(x_data, 2.5, 1.3, 0.5)
np.random.seed(1729)
y_noise = 0.2 * np.random.normal(size=x_data.size)
y_data = y + y_noise

# 使用curve_fit进行拟合
popt, pcov = curve_fit(func, x_data, y_data)

# popt是拟合得到的最佳参数,pcov是协方差矩阵
a_opt, b_opt, c_opt = popt

# 打印拟合结果
print(f"拟合得到的参数: a={a_opt}, b={b_opt}, c={c_opt}")

# 绘制原始数据和拟合曲线
plt.figure()
plt.scatter(x_data, y_data, label='Data')
plt.plot(x_data, func(x_data, *popt), 'r-', label='Fitted Curve')
plt.legend()
plt.show()

解释说明:

  1. 导入库:我们使用了numpy来处理数据,scipy.optimize.curve_fit来进行曲线拟合,以及matplotlib.pyplot来绘制图表。
  2. 定义函数func(x, a, b, c)是我们要拟合的函数形式,这里是一个指数衰减函数。
  3. 生成数据x_data是自变量数据,y_data是带有噪声的目标数据。
  4. 拟合数据curve_fit函数用于拟合数据,返回最佳参数popt和协方差矩阵pcov
  5. 打印结果:输出拟合得到的参数值。
  6. 绘制图表:将原始数据点和拟合曲线绘制在同一张图上以便直观比较。

如果你需要更多帮助或有其他问题,请随时告诉我!

上一篇:python flatten

下一篇:python for excel

大家都在看

python时间格式

python ord和chr

python list.pop

python的for i in range

npm config set python

python代码简单

python读取文件夹

python中turtle

python 输出时间

python中list代表什么

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站