私はPythonのfftの機能を理解しようとしています。私が遭遇した奇妙なことの1つは、Parseval's theoremは約50私はこの機能については見つけることができるすべての情報があるとして、今、それは0PythonでのParsevalの定理
import numpy as np
import matplotlib.pyplot as plt
import scipy.fftpack as fftpack
pi = np.pi
tdata = np.arange(5999.)/300
dt = tdata[1]-tdata[0]
datay = np.sin(pi*tdata)+2*np.sin(pi*2*tdata)
N = len(datay)
fouriery = abs(fftpack.rfft(datay))/N
freqs = fftpack.rfftfreq(len(datay), d=(tdata[1]-tdata[0]))
df = freqs[1] - freqs[0]
parceval = sum(datay**2)*dt - sum(fouriery**2)*df
print parceval
plt.plot(freqs, fouriery, 'b-')
plt.xlim(0,3)
plt.show()
する必要がありますが、私はそれが正規化因子だとかなり確信して、私はそれを見つけることができるようには見えません。 scipy.fftpack.rfft documentation。
訂正ありがとうございます! – unutbu
注記:これは、浮動小数点数が実数と同じではないという一般的な問題の一部です。 – Marcin
@Marcin Yep、チェックで '=='を '-'に変更しました... – Jaime