【问题标题】:How do I create Symbols in SymPy based on user input?如何根据用户输入在 SymPy 中创建符号?
【发布时间】:2021-07-27 14:14:35
【问题描述】:

我正在尝试创建一个 python 程序,该程序从用户那里获取一个函数(以 x 表示)并使用 SymPy 返回它的导数。但是,当我输入 x 以外的字母时,SymPy 会抛出未定义符号的错误。我希望它将除 x 之外的字母视为常量。

例如,如果用户输入a*x**2 + bx,他们应该得到2*a*x + b,如果他们输入z*x**2 + px,他们应该得到2*z*x + p。如何将除“x”之外的字母视为常量,而不必将每个字母都硬编码为符号?

我希望我的问题很清楚。如果需要,请随时要求任何澄清。

【问题讨论】:

  • 你能提供你的代码吗?

标签: python python-3.x math sympy calculus


【解决方案1】:

您应该首先解析用户输入并收集所有符号。要将字符串解析为 sympy 表达式,请使用 sympy.sympify。我假设您只想获得 W.R.T x 的导数。完整的代码是:

import sympy as sp
expr = sp.sympify(input('enter expression: '))
print('Derivative w.r.t x: ', sp.diff(expr, 'x'))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-18
    • 2017-09-11
    • 2014-01-26
    • 1970-01-01
    • 1970-01-01
    • 2015-02-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多