python - 如果定义了函数,Sympy 可以识别表达式中的函数吗?
问题描述
我已经看到 Sympy 有一个sympy.Function
功能,但在文档中找不到以下问题的答案。
是否可以在表达式中找到自定义函数并使用函数定义来简化它们。
作为一个非常简单的例子,我定义了函数:f(x) = 2 * exp(x)
.
现在假设我有一些 Sympy 表达式:6 * exp(y + z)
是否可以告诉 Sympy 简化此表达式以根据函数给出结果f
.... 即 Sympy 的输出是:3 * f(x)
。
我发现 using.subs()
适用于简单的变量替换,但这似乎不适用于包含符号作为参数的函数,如上所述。
谢谢。
解决方案
我认为 Sympy 目前不支持您想要做的事情(例如,参见这个 stackoverflow question)。然而,可以用这段代码完成一些非常接近的事情:
from sympy import symbols, exp
x, f = symbols('x, f')
expr = 6 * exp(x)
f_func = 2 * exp(x)
print(expr.subs({f_func: f}))
# 3 * f
在上面的代码中,我假设您想要简化的表达式(expr
在代码中)是x的函数。
推荐阅读
- r - R Shiny 更新 UI 服务器端
- python - 如何使用列的唯一值创建字典并将值存储到列表中
- rust - Rust Cargo 中的插入符号版本约束是什么意思?
- angular - 如何渲染没有标题行的 Angular 9 mat-table?
- java - 在以反向形式打印 LinkedList 时没有得到想要的输出
- model-view-controller - 在 MVC 中传递一个类以使其在整个站点中可用的推荐方法是什么?
- python - 继续在 MLflow 中停止运行
- c# - 将 JSON 反序列化为没有名称的对象 C#
- python - 生成数据后如何将数据输出到csv
- pycharm - 项目设置中的 PyCharm 不当行为