如何在 SymPy 中定义数学函数?

新手上路,请多包涵

我已经尝试了几个小时了。我想我不明白一个基本概念,这就是为什么到目前为止我无法对自己回答这个问题。

我正在尝试实现一个简单的数学函数,如下所示:

 f(x) = x**2 + 1

之后我想导出那个函数。

我已经定义了符号和函数:

 x = sympy.Symbol('x')
f = sympy.Function('f')(x)

现在我正在努力为这个函数定义方程 f(x) 。类似 f.exp("x**2 + 1") 的东西不起作用。

我还想知道如何在最终定义此函数后将其打印到控制台。

原文由 Robin 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 535
2 个回答

sympy.Function 用于未定义的函数。就像 if f = Function('f') then f(x) 在表达式中保持未计算。

如果你想要一个实际的函数(比如如果你做 f(1) 它评估 x**2 + 1x=1 ,你可以使用Python函数

def f(x):
    return x**2 + 1

然后 f(Symbol('x')) f(1) 给出象征 2x**2 + 1

或者您可以将表达式分配给变量

f = x**2 + 1

并使用它。如果你想用 x 代替一个值,使用 subs ,比如

f.subs(x, 1)

原文由 asmeurer 发布,翻译遵循 CC BY-SA 3.0 许可协议

这是您的解决方案:

 >>> import sympy
>>> x = sympy.symbols('x')
>>> f = x**2 + 1
>>> sympy.diff(f, x)
2*x

原文由 enedil 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题