这可以用numpy进行矢量化吗?

时间:2017-10-10 18:24:22

标签: python numpy

我有这个功能,我想知道是否有一种方法可以对它进行矢量化,因为我在这上面运行了很多循环,它变得很慢。 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

0 个答案:

没有答案