【问题标题】:Why some symbolic expressions don´t get simplified?为什么有些符号表达式没有得到简化?
【发布时间】:2021-10-30 13:08:37
【问题描述】:

您好,我正在为我的古典力学 I 课程研究拉格朗日力学的振动问题模型。

我的问题如下:

当我尝试简化如下图所示的某些表达式时,sympy 仅显示除法而不是简化表达式。

我想知道这是否是 SymPy 的某种限制(可能不是这种情况)或者只是我错过了一些东西。 enter image description here

【问题讨论】:

  • 您能否将您的示例添加为可重现的代码(作为文本,而不是作为图像)?这样一来,试图帮助您的人就不必再次输入所有内容。
  • 正如 JohanC 所说,请将代码作为格式化文本发布。 See here for a post on whySee here for details on formatting.
  • 哦,对不起,我是编程论坛上的新帖子,所以我没有考虑。无论如何,谢谢,我想有人可能发现我做错了什么:)

标签: expression sympy physics simplify reducing


【解决方案1】:

如果 SymPy 对变量不够了解(比如它们是正数还是零),那么它就不会进行简化。对于sqrt,如果您指出变量为正,您将获得更好的结果。或者,您可以在尝试简化之前在表达式上使用 posify

>>> from sympy import symbols
>>> x,y = symbols('x y', positive=True)
>>> sqrt(x/y)/sqrt(y/x)
x/y

如果 x 是正数而 y 是负数,这将是不正确的(在这种情况下,答案将是 -x/y

【讨论】:

  • 哇,我迫不及待想尝试一下。这一定是它导致错误的原因,sympy 不只是简化它是有道理的。谢谢!!!
猜你喜欢
  • 2015-05-31
  • 1970-01-01
  • 2021-11-23
  • 1970-01-01
  • 2019-04-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-15
相关资源
最近更新 更多