我有这个函数,我想知道是否有一种方法来矢量化它,因为我在这个上面运行了很多循环,它变得非常慢。w、 x、y、z和n是常数,input_vec是长度为n的向量
def calc_v(w, x, y, z, input_vec, n):
v = np.empty(n)
v[0] = 1
for i in range(1, n):
past_v = v[i - 1]
past_input = input_vec[i - 1]
# UCL
part1 = (1 / past_v) * (x * (y - past_v) - ((w*w) / 2)) * z
part2 = w * (1 / math.sqrt(past_v)) * math.sqrt(z) * past_input
v[i] = past_v * exp(part1 + part2)
return v
目前没有回答
相关问题 更多 >
编程相关推荐