Python中的n阶傅立叶级数曲线拟合

发布于 2024-11-08 19:11:50 字数 148 浏览 2 评论 0原文

我一直在寻找一种在 Python 中编写代码片段的方法,该代码片段可以计算傅里叶级数曲线拟合的任何 n 阶。要计算傅里叶级数曲线拟合的某个阶数,例如3阶,非常简单,但是在阶数n可变的情况下,仍然行不通。也许有人已经做到了,但我的搜索还没有找到它。我想知道是否有人可以提供帮助。谢谢。

I've been looking for a way to code a snippet in Python which calculate for any n-th order of Fourier series curve fitting. To calculate a certain order of Fourier series curve fitting, say 3 order is quite simple, however to do it where the order n is variable, still not workable yet. Perhaps somebody has done it, but my searching can't find it yet. I wonder if anybody could give a help. Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

墨落成白 2024-11-15 19:11:50

那么公式是

n-th cos_coeff = (2/T)*integral(-T/2,T/2, f(t)*cos(n*t*2*pi/2)dt)
n-th sin coeff = (2/T)*integral(-T/2,T/2, f(t)*sin(n*t*2*pi/2)dt)

检查 scypiscipy.integrate

这里应该是

cos_coeff(f, T, N) = (2/T)*quad(lambda t: f(t)*cos(N*t*2*math.pi/2),-T/2,T/2)

(虽然没有测试)

我不熟悉离散傅里叶变换,但你也许也可以从中计算出所述系数。查看
http://docs.scipy.org/doc/scipy/reference/tutorial /fftpack.html

Well the formula is

n-th cos_coeff = (2/T)*integral(-T/2,T/2, f(t)*cos(n*t*2*pi/2)dt)
n-th sin coeff = (2/T)*integral(-T/2,T/2, f(t)*sin(n*t*2*pi/2)dt)

Check scypi and scipy.integrate for details on integration.

Here it should be

cos_coeff(f, T, N) = (2/T)*quad(lambda t: f(t)*cos(N*t*2*math.pi/2),-T/2,T/2)

(Not tested, though)

I am not familiar with Discrete Fourier Transform, but you can perhaps compute said coefficient from it, too. Check
http://docs.scipy.org/doc/scipy/reference/tutorial/fftpack.html

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文