【问题标题】:nth order fourier series curve fitting in PythonPython中的n阶傅立叶级数曲线拟合
【发布时间】:2011-05-20 19:41:15
【问题描述】:

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

【问题讨论】:

  • 你到底想要什么?你想计算任意函数的傅立叶系数吗? (嗯,周期性任意函数)
  • Hai Evpok。是的,没错。
  • 例如我有一个已知的周期数据 x 或任意周期函数,并且想要计算系数。我会想象一个函数 cosCoeffs, sinCoeffs = Fourier(x, T, N),其中 T 是周期,N 是任意阶。谢谢。

标签: python fft curve-fitting


【解决方案1】:

公式是

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

【讨论】:

    猜你喜欢
    • 2019-03-02
    • 2016-03-25
    • 2022-01-07
    • 1970-01-01
    • 1970-01-01
    • 2016-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多