【发布时间】:2016-02-06 16:13:42
【问题描述】:
我正在尝试重写以下例程(a、b、c、d 和 e 都是数组):
def generate_a(b, c, e):
a = np.zeros_like(b)
d = np.zeros_like(b)
for i in range(a.size):
a[i] = (b[i] / c[i]) + d[i-1]
d[i] = a[i] * e[i]
return a
不使用“for”循环,因为例程需要运行数百万次。这是一个小技巧,因为 d 中任何给定单元格的值取决于为 a 中的单元格计算的结果,而结果又取决于为 d 计算的最后一个值。关于如何在没有迭代的情况下完成此操作的任何想法?
【问题讨论】:
-
对于元素
a[0],预计使用d的什么值?
标签: python arrays numpy recursion vectorization