Math 表达式编程
我已经建立了一个完整的工作计算器,计算任何表达式和图表。我还构建了一个符号微分器,它正确地微分了公式w.r.t.x,但我对如何以编程方式简化任何通用方程有点迷茫,因为在那一刻,答案是由许多倍数的1得出的。我意识到*1很容易简化,但我需要一个全面的简化器来覆盖任何情况。我认为简化是一种规范化的形式。您可能想实现的第一件事是简化多项式:Math 表达式编程,math,expression,formula,equation,simplify,Math,Expression,Formula,Equation,Simplify,我已经建立了一个完整的工作计算器,计算任何表达式和图表。我还构建了一个符号微分器,它正确地微分了公式w.r.t.x,但我对如何以编程方式简化任何通用方程有点迷茫,因为在那一刻,答案是由许多倍数的1得出的。我意识到*1很容易简化,但我需要一个全面的简化器来覆盖任何情况。我认为简化是一种规范化的形式。您可能想实现的第一件事是简化多项式: 计算任何不包含任何变量的子表达式 定义变量的顺序,除非x是唯一有效的变量 根据变量对单项式中的项进行排序 基于此变量顺序,定义单项式的顺序,该顺序考虑变量及其度数
- 计算任何不包含任何变量的子表达式
- 定义变量的顺序,除非x是唯一有效的变量
- 根据变量对单项式中的项进行排序
- 基于此变量顺序,定义单项式的顺序,该顺序考虑变量及其度数
- 多项式按单项式的阶项
- 识别重复的单项式并合并它们的系数
- 删除所有结果为零的单项式
你可能想阅读一些关于、和相关主题的文献。最自由(许可证方面)的方法是使用IMHO为你简化。不,我需要自己做,反正是为iOS应用程序做的,所以我认为我无法在那里实现该库。我有简单的方程要简化,它看每个像X一样的字母,然后通过看其中其余表达式的X的幂来简化,但它不能与括号或其他函数一起工作。重点是你在找一个计算机代数系统(CAS),C++计算机代数系统虽然有GPL许可证,但它可能不适合您的需要。如果你坚持从头开始,我认为这更像是一个数学问题,而不是一个编程问题,这超出了Stackoveflow的范围。你也可以考虑在服务器上做简化,那么你就不必在邪恶公司的任意限制下工作了…谢谢你的输入,你所说的和我所需要的差不多,到目前为止,它与我自己开发的解决方案相匹配,这些功能确实是很困难的。