.net - 简单代数简化的算法/操作方法

标签 .net algorithm algebra simplification postfix-notation

<分区>

Possible Duplicate:
automatically calculate string mathematical expressing in C#

有人能给我指出一些资源,这些资源详细描述了如何简化简单的代数方程式,例如“5x+(2x*6x)+2”,它应该得到我需要的运算符“12x^2+5x+2”句柄是“+”、“-”、“*”、“/”、“^”和括号。到目前为止,我已经为数字术语实现了一个解析器和求值器,它们将 in-fix 转换为 post-fix 然后求值。

如果有人能告诉我如何完成此任务的基本情况,我将不胜感激。

最佳答案

如果您内部已经有一个表示方程的树,您可以递归地访问每个节点,以确定是否有办法组合两个子节点的项。想想你会在每个节点做什么,然后考虑边界条件(节点为空,节点没有子节点等)。

以下是我的处理方式:

  1. 依次拜访每个 child
  2. 有一个函数可以在 child 中找到相同变量的共同幂并将它们组合起来 A。考虑多变量方程 b.请记住您的输出格式与工作副本格式。您需要将最终结果转换回文本。

这是一个开始。我觉得

关于.net - 简单代数简化的算法/操作方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10043842/

相关文章:

c - 抽象语法树的代数化简

math - 帮助理解单极传递函数

.net - 无符号与带符号的数字作为索引

c# - 这是 ExpressionTrees 错误吗? #2

c# - 在 C# 中快速使用位图

c# - 如何监听 ItemsControl 中两个项目之间的边距中的鼠标滚轮事件?

php - 从 .txt 文件中读取数字并在 PHP 中的 foreach 循环中打印数字的算法

algorithm - 给定的开括号和闭括号字符串告诉它是否是有效字符串

algorithm - 网格打包算法

list - 如何简化表示为列表列表的代数方程