1

我复制了以下几行

from scipy import signal
import matplotlib.pyplot as plt
import numpy as np

fs = 10e3
N = 1e5
amp = 2*np.sqrt(2)
freq = 1234.0
noise_power = 0.001 * fs / 2
time = np.arange(N) / fs
x = amp*np.sin(2*np.pi*freq*time)
x += np.random.normal(scale=np.sqrt(noise_power), size=time.shape)
# Compute and plot the power spectral density.

f, Pxx_den = signal.periodogram(x, fs)
plt.semilogy(f, Pxx_den)
plt.xlabel('frequency [Hz]')
plt.ylabel('PSD [V**2/Hz]')
plt.show()

来自** http://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.periodogram.html#scipy.signal.periodogram 但是当我尝试运行代码时出现此错误:

f, Pxx_den = signal.periodogram(x, fs)
AttributeError: 'module' object has no attribute 'periodogram'

我正在使用 Scipy 0.12 版感谢您的帮助。亲切的问候。伊沃

4

1 回答 1

2
>>>from scipy import signal

>>>print [x for x in dir(signal) if x == 'periodogram'] #just list comprehension to limit the amount of methods displayed
['periodogram']

你的 scipy 安装肯定有问题。我推荐http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy这个站点通常是我在安装或导入您认为正确安装的模块时遇到困难时的首选。

网站上的东西列表并不是 100% 的东西,而是你可以在那里找到的大部分重要的东西。

于 2013-08-22T23:47:57.313 回答