我想在numpy中创建一个包含数学系列值的数组,在本例中为前一个值的平方,给出一个单独的起始值,即a_0 = 2,a_1 = 4,a_3 = 16,.. 。如何使用numpy来有效地计算系列?
欲以numpy的矢量化我想这可能工作:
import numpy as np
a = np.array([2,0,0,0,0])
a[1:] = a[0:-1]**2
但结果是
array([2, 4, 0, 0, 0])
我了解到现在numpy的并在内部创建了一个临时数组输出和最终的副本这个数组,这就是为什么它失败的原始数组中的值为零的原因。 有没有办法使用numpy,numexpr或其他工具来矢量化这个函数?还有什么其他方法可以在没有for循环的情况下有效计算一系列快速numpy函数时的值?
也有关系:http://stackoverflow.com/questions/4407984/is-a-for-loop-necessary-if-elements-这是一个numpy向量是依赖于t – sdaau 2013-12-18 11:16:55