Python 中的函数求和

Summation of a function in Python

我是 Python 编程新手。来自 MATLAB 背景。我在 Python.

中寻找类似于 MATLAB 中的 symsum 函数的东西

我有我的数组,

a = np.linspace([0,3.14])

我要总结

sin(2*i*a) where i ranges from 1 to 20

然后绘制 a 和 y 之间的结果

我尝试了以下方法

y = nsum(lambda i: np.sin(2*i*a), [0,20])

我卡在这了。

编辑。 MATLAB 等价物是

a = linspace(0,pi) syms i y=double(symsum(sin(2*i*a),i,0,20)

编辑

看起来 symsum 是符号包的一部分(在 MATLAB 和 Octave 中)。 sympy 是 Python 符号包。它与 numpy 的集成比较松散。

===

以下是对您尝试执行的操作的猜测:

a 个值的范围:

In [180]: a = np.linspace(0, np.pi, 100)                                                     

具有 (0,1,2,3,4) 的外积(使用广播)

In [181]: x = np.arange(5)[:,None]*a          

sin 个值求和,然后绘制:

In [182]: y = np.sin(2*x).sum(axis=0)                                                        
In [184]: plt.plot(a,y)