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)
我是 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)