如何在Python中使用方波拟合数据?

2024-05-15 18:27:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下数据:

Experimental data and ideal fitting function

我一直在尝试用一系列方形脉冲来拟合它,我将其定义为:

def f(x, x0, a, b, c): sq = a * np.ones_like(x) sq[(x>x0) * (x<x0+b)] = c sq[(x>x0+2*b) * (x<x0+3*b)] = c sq[(x>x0+4*b) * (x<x0+5*b)] = c return sq

问题是,用曲线拟合得到的是一条直线或一个平方脉冲,其最大值和最小值都在数据的最大值之上。这怎么可能?我怎样才能正确地实施它


Tags: and数据data定义defnponessq
1条回答
网友
1楼 · 发布于 2024-05-15 18:27:40

你的最终目标是什么?你的方法是最好的方法吗?我认为你可以对数据进行傅里叶变换,得到方波傅里叶系数。取第一个n分量并绘制结果将得到一条周期曲线,该曲线呈方形,并“拟合”数据

相关问题 更多 >