使用Python计算傅立叶系数吗?

时间:2018-11-12 05:15:01

标签: python fft numerical-methods numerical-integration dft

我正在尝试计算以下傅立叶系数 $ \ frac {1} {s_f} \ int_0 ^ {s_f} V_ {pot}(s)\ cos(\ frac {n \ pi} {s_f} s)\ mathrm {d} s,$

其中$ V_ {pot} $是此表单的先前def函数。 enter image description here我真的不知道可以使用哪种数值方法,但是我从Simpson的scipy库规则开始。

import numpy as np
from scipy.integrate import simps

Nf= 200 
IVp = np.zeros(2*Nf)
snn = np.zeros(NP)
def f(k):
    for i in range(0,NP):
        sn=(i-1)*H
        snn[i]=sn
        return (1/SF)*np.cos(np.pi*k*sn/SF)*Vpot(sn)

for k in range(0,2*Nf):
      Func= f(k)
      y1=np.array(Func,dtype=float)
      I= simps(y1,snn)

我遇到了这个错误:

IndexError: tuple index out of range

1 个答案:

答案 0 :(得分:2)

您的任务可以通过

完成
Nf = 200
s = np.linspace(0, Sf, Nf+1);
V_s = Vpot(s)
I = [ simps(s, np.cos(np.pi*k*s/Sf)*V_s ) / Sf  for k in range(0,2*Nf) ]

但实际上,请研究如何通过FFT or related methods来做到这一点。

相关问题