繁体   English   中英

如何根据用户输入在 SymPy 中创建符号?

[英]How do I create Symbols in SymPy based on user input?

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

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM