我现在已经尝试了好几个小时。我想我不明白一个基本概念,这就是我到目前为止无法回答这个问题的原因。
我正在尝试的是实现一个简单的数学函数,如下所示:
f(x) = x**2 + 1
之后我想推导出这个功能。
我用:
定义了符号和函数x = sympy.Symbol('x')
f = sympy.Function('f')(x)
现在我正在努力为这个函数f(x)
定义等式。像f.exp("x**2 + 1")
这样的东西不起作用。
我也想知道在最终定义之后我怎么能打印出这个函数的控制台。
答案 0 :(得分:21)
sympy.Function
用于未定义的函数。就像f = Function('f')
一样,f(x)
在表达式中仍未被评估。
如果你想要一个实际的函数(就像你f(1)
那样评估x**2 + 1
x=1
,你可以使用Python函数
def f(x):
return x**2 + 1
然后f(Symbol('x'))
会给出符号x**2 + 1
,f(1)
会给2
。
或者您可以将表达式分配给变量
f = x**2 + 1
并使用它。如果您想用x
替换值,请使用subs
,例如
f.subs(x, 1)
答案 1 :(得分:7)
这是您的解决方案:
>>> import sympy
>>> x = sympy.symbols('x')
>>> f = x**2 + 1
>>> sympy.diff(f, x)
2*x
答案 2 :(得分:2)
另一种可能性(isympy
命令提示符):
>>> type(x)
<class 'sympy.core.symbol.Symbol'>
>>> f = Lambda(x, x**2)
>>> f
2
x ↦ x
>>> f(3)
9
计算衍生物的作用如下:
>>> g = Lambda(x, diff(f(x), x))
>>> g
x ↦ 2x
>>> g(3)
6
答案 3 :(得分:-1)
看看: Sympy how to define variables for functions, integrals and polynomials
您可以根据以下方式进行定义: