gpt4 book ai didi

python - numpy 数组求和函数

转载 作者:行者123 更新时间:2023-11-30 22:29:15 30 4
gpt4 key购买 nike

假设我有两个一维数组,a 和 b,长度分别为 n+1 和 m+1。

我希望 c 是与 b 长度相同的数组,其元素等于所有 a 元素之和的 b 次方的正弦值。下面用伪代码编写。

c = sum(sine(a[0:n] ** b[0])), sum(sine(a[0:n] ** b[1])),
... sum(sine(a[0:n] ** b[m])))

有没有一种方法可以在不使用循环的情况下完成此任务?

(在编程方面有些缺乏经验,希望我的问题有意义。)

一个函数:

def function(a, b):
c = np.sum(np.sin(a ** b))
return c

最佳答案

您可以使用 numpy 广播对其进行矢量化:

np.sin(np.sum(a ** b[:,None], axis=1))
<小时/>
import numpy as np
a = np.arange(4)
b = np.arange(3)

np.sin(np.sum(a ** b[:,None], axis=1))
#array([-0.7568025 , -0.2794155 , 0.99060736])

np.sin(np.sum(a ** b[0]))
#-0.7568024953079282

np.sin(np.sum(a ** b[1]))
#-0.27941549819892586

关于python - numpy 数组求和函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46429865/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com