如何将阻尼正弦波拟合到数据
How do I fit a damped sine wave to data
对于我的实验项目,我将阻尼正弦波拟合到我获取的振动幅度数据上。我正在尝试分析 python 中的数据,但在尝试将其建模为阻尼波时甚至不知道从哪里开始。因此,我们将不胜感激有关如何开始的任何提示或帮助。
振幅数据如下:
A = [174, 174, 173, 173, 173, 173, 174, 175, 179, 182, 179, 175, 172, 178,
181, 176, 179, 172, 171, 177, 179, 181, 176, 167, 174]
并且时间数据只是一个恒定的时间间隔,所以像这样
t = np.array([0., 0.04, 0.08, 0.12, 0.16, 0.2, 0.24, 0.28, 0.32, 0.36, 0.4,
0.44, 0.48, 0.52, 0.56, 0.6, 0.64, 0.68, 0.72, 0.76, 0.8, 0.84,
0.88, 0.92, 0.96])
拟合模型将是这样的:
y(t) = A * exp(-lambda * t) * cos(omega * t + phi)
提前感谢您的帮助。
嗯,首先,我会找到节点所在的大致位置,即曲线等于所有数据的平均值的位置,然后从那里找到频率。然后我会记录前几个峰值的振幅以获得初始振幅,以及相邻峰值振幅之间的比率,这将在你的方程式中得到 lambda。第一个峰值的时间也将为您提供相角 phi。
这不是答案,只是评论。我不能在评论区编辑,因为图片是绝对必要的,评论里不能放图片。
如果我没记错的话,数据的图形表示是:
这张图看起来不像阻尼正弦函数。我想知道是否有人能够说出它是什么样的功能。它看起来更像是一个高度分散的线性函数。
你能粗略地画出(不用微积分)你期望的曲线吗?
对于我的实验项目,我将阻尼正弦波拟合到我获取的振动幅度数据上。我正在尝试分析 python 中的数据,但在尝试将其建模为阻尼波时甚至不知道从哪里开始。因此,我们将不胜感激有关如何开始的任何提示或帮助。
振幅数据如下:
A = [174, 174, 173, 173, 173, 173, 174, 175, 179, 182, 179, 175, 172, 178,
181, 176, 179, 172, 171, 177, 179, 181, 176, 167, 174]
并且时间数据只是一个恒定的时间间隔,所以像这样
t = np.array([0., 0.04, 0.08, 0.12, 0.16, 0.2, 0.24, 0.28, 0.32, 0.36, 0.4,
0.44, 0.48, 0.52, 0.56, 0.6, 0.64, 0.68, 0.72, 0.76, 0.8, 0.84,
0.88, 0.92, 0.96])
拟合模型将是这样的:
y(t) = A * exp(-lambda * t) * cos(omega * t + phi)
提前感谢您的帮助。
嗯,首先,我会找到节点所在的大致位置,即曲线等于所有数据的平均值的位置,然后从那里找到频率。然后我会记录前几个峰值的振幅以获得初始振幅,以及相邻峰值振幅之间的比率,这将在你的方程式中得到 lambda。第一个峰值的时间也将为您提供相角 phi。
这不是答案,只是评论。我不能在评论区编辑,因为图片是绝对必要的,评论里不能放图片。
如果我没记错的话,数据的图形表示是:
这张图看起来不像阻尼正弦函数。我想知道是否有人能够说出它是什么样的功能。它看起来更像是一个高度分散的线性函数。
你能粗略地画出(不用微积分)你期望的曲线吗?