将方程建模为

2024-06-01 00:49:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在python中将一个方程建模为树。 例如:

x = exp(((-0.5)*((f/sqrt(d))**2)))

我该怎么做?我想换树枝, 删除部分树等,然后将其转换回 文本形式的新等式。在

你能给我举一个代码库的例子吗?在

干杯 编辑1:

我已经走了这么远:

^{pr2}$

现在它打印树的所有节点。但是我希望能够切换分支, 删除分支、插入分支和更改运算符/操作数。 我需要这个因为我想让树随机变异。在


Tags: 代码文本编辑节点分支sqrt建模中将
3条回答

运算符和函数是父节点,操作数是叶。在

x = exp(((-0.5)*((f/sqrt(d))**2)))

从自顶向下的方法开始:[operator{operand1,operand2}]

^{pr2}$

其次是:

[ = { x, [ * { exp(((-0.5), ((f/sqrt(d))**2))) }] }]

然后:

[ = { x, [ * { [ exp { -0.5 }],  [ ** { f/sqrt(d)), 2 }] }] }]

你明白了。在

这个link可能是你的答案。在

PyParsing应该可以帮助你。(严格地说,我假设您的等式不一定使用Python语法本身。)

您需要的是构建并使用解析树。除了内置的解析之外,如果您的方程超出了python的本机语法,请看一下this overview,它可能已经过时了。有很多选择。在

相关问题 更多 >