我可以用numpy数组替换IndexedBase以获得新的sympy表达式吗?像这样:
import numpy as np
import sympy as sy
A = sy.IndexedBase('A', shape=(5))
k = sy.IndexedBase('k', shape=(5))
i = sy.symbols('i',cls=sy.Idx)
expr1 = sy.Sum(A[i]/sy.exp(sy.I * k[i]),(i,1,5))
kz = np.arange(1,5)
expr2 = expr1.subs(k[:],kz[:])
最后一行=错误。
谢谢!
答案 0 :(得分:1)
是的,您可以:
In [6]: expr2 = expr1.replace(k, kz)
In [7]: expr2
Out[7]:
5
___
╲
╲ -ⅈ⋅[1, 2, 3, 4, 5][i]
╱ ℯ ⋅A[i]
╱
‾‾‾
i = 1
请注意,求和范围是错误的,Python数组的偏移量为零。