【问题标题】:Tree-Form of math formula (as a dot string)数学公式的树形(作为点串)
【发布时间】:2019-10-22 11:31:52
【问题描述】:

我有公式

a * b * cos( c * x ) + b

是否有可能像 Mathematica (https://reference.wolfram.com/language/GraphUtilities/ref/ExpressionTreePlot.html) 那样创建公式的树结构

对于这个公式,例如在 numpy、sympy 甚至 tensorflow 中?


编辑

在 cmets 的帮助下,我发现可以像在第一张图片下所说的那样绘制它 https://docs.sympy.org/latest/tutorial/manipulation.html 使用graphviz,但我不明白,如何。

【问题讨论】:

标签: python python-3.x numpy tensorflow sympy


【解决方案1】:

为此,我们可以使用 sympy 生成树并使用Graphviz 来渲染它。下面是生成有向图数据并将其呈现为 pdf 的代码。请注意,为了使用 Graphviz,您需要安装 Graphviz 可执行文件以及通过 pip 安装。希望对您有所帮助!

from sympy import symbols, cos, dotprint
from graphviz import Source

a, b, c, x= symbols('a b c x')
expr = a * b * cos( c * x ) + b

src = Source(dotprint(expr))

src.render('output.gv', view=True)

【讨论】:

    猜你喜欢
    • 2014-10-02
    • 2012-04-08
    • 1970-01-01
    • 2016-08-24
    • 2018-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多