【发布时间】:2015-11-25 14:56:04
【问题描述】:
我想使用以下公式通过 Python 找到功率谱:
我正在尝试用这个来绘制应该遵循的数组:
P = []
for k in range(0,int(N/2)):
P.append((2/N)*(sum(x[k]*np.cos(2*np.pi*nu*t[k]))**2+(sum(x[k]*np.sin(2*np.pi*nu*t[k])))**2))
其中 nu 是频率:
nu = []
for j in range(0, int(N/2), 2):
nu.append(j/T)
x 和 t 来自一个数据集,N 只是所有 x 的总和。
Python 一直告诉我:'不能将序列乘以'float' 类型的非整数' 我在这里做错了什么?我确信这与将错误类型的数据相乘有关。但我不确定如何更改。
我知道有一个内置的 FFT 函数,但我认为让这个函数工作对我来说真的很有启发性。
【问题讨论】:
-
那么你要相乘的所有数据的数据类型是什么?
-
它们是数组(或列表?),但有些索引为 k,有些索引为 j,这决定了 python 应该对它们做什么。但我可能没有正确编码,是吗?然后是 pi,它是一个浮点数,但它应该很容易与一切相乘。
标签: python python-3.x physics