我尝试用带有sympy的变量实现列表的cos函数。这是一个简单的例子:
from sympy import *
x = Symbol('x')
cos([x+1,x+2,x+3])
但是错误
AttributeError: 'list' object has no attribute 'is_Number'
发生,而不是我预期的array([cos([x+1]),cos([x+2]),cos([x+3])])
。
是否有一种简单的方法可以将cos用作numpy.cos()
?
答案 0 :(得分:2)
使用Python builtin map
function将sympy.cos
应用于列表中的每个元素:
import sympy as sy
x = sy.Symbol('x')
print(list(map(sy.cos, [x+1,x+2,x+3])))
产量
[cos(x + 1), cos(x + 2), cos(x + 3)]