我需要求和不同功能值的帮助。这是一段代码
n = 4
a = np.arange(0.0,n+1,1)
def n(a):
return 11.0+(a**2)/((2.1)**(2.0)*(1/4))
print n(a)
它可以工作,但我需要n(0)+n(1)+n(2)+n(3)+n(4)
作为单个结果
答案 0 :(得分:1)
尝试以下操作:
sum(n(i) for i in range(5))
答案 1 :(得分:1)
您可以像这样对数组的元素求和(尤其要看最后一行)
N = 4
a = np.linspace(0, N, N+1)
def n(a):
return 11.0+(a**2)/((2.1)**(2.0)*(1/4))
print(n(a))
print(n(a).sum())
之所以有效,是因为n(a)
返回一个ndarray
对象(一个Numpy向量),并且一个ndarray
有许多有趣的预定义方法,其中.sum()
的意图是我希望这样足够清楚。
测试
In [7]: N = 4
...: a = np.linspace(0, N, N+1)
...:
...: def n(a):
...: return 11.0+(a**2)/((2.1)**(2.0)*(1/4))
...:
...: print(n(a))
...: print(n(a).sum())
...:
[11. 11.90702948 14.62811791 19.16326531 25.51247166]
82.21088435374149