【发布时间】:2022-01-13 07:58:11
【问题描述】:
我有以下公式来计算 Z^2 值。我的 t(time) 和 v(pulse frequency) 都是长度相同的 NumPy 数组,而 n(harmonics) 是 1 到 3 之间的整数值,N 是单个整数值。
在下面,您看到了我的幼稚尝试,但无法弄清楚如何准确地包含谐波和所有内容:
phase = t*v
zstat = (2/N)*np.sum(np.sum(np.cos(phase))**2 + np.sum(np.sin(phase))**2)
我需要遍历所有频率以找到最高的 Z,所以我尝试了这个:
for f in frequencies:
phase = timenp * frequencies
zstat += (np.sum(np.cos(k*phase[:N]))**2 + np.sum(np.sin(k*phase[:N]))**2)
zstat = zstat * 2/N
但是,我收到此错误:
ValueError: operands could not be broadcast together with shapes
(28005,) (400,)
代码有什么问题,我该如何解决?
【问题讨论】:
-
既然 v 是向量而 t_j 是标量,不应该是 phi_j = v_j * t_j 吗?
标签: python python-3.x numpy scipy