只是踢,我试图创建一个可以简化,因素,扩大代数方程组的应用程序。 编程规则好像这将是直线前进,如果我能得到的公式为好可行的格式。 解析方程被证明是一件麻烦事,目前使用Python,但我不反对不必学习新的东西。
是否有任何库(任何语言),这将使这个项目很简单,或者是一个白日梦?
[哈斯克尔标记,是因为我有一种感觉,这也正是“简单”是]
只是踢,我试图创建一个可以简化,因素,扩大代数方程组的应用程序。 编程规则好像这将是直线前进,如果我能得到的公式为好可行的格式。 解析方程被证明是一件麻烦事,目前使用Python,但我不反对不必学习新的东西。
是否有任何库(任何语言),这将使这个项目很简单,或者是一个白日梦?
[哈斯克尔标记,是因为我有一种感觉,这也正是“简单”是]
是的,Haskell有许多许多库书写解析器相当容易。 秒差距是一个良好的开端,它甚至有其他语言的克隆 ,包括Python中 (该文章还链接到pyparsing它看起来像它也可能工作)。
我的这个答案就是一个例子(注意,这可能不是拔尖秒差距或哈斯克尔):这是指示Haskell的解析库的力量,正是4行代码实现整个分析器。
你也可以浏览过去的问题和答案,去感受各种库和技术,例如秒差距 , 解析+哈斯克尔和解析+蟒蛇 。
制定你的攻击对于较大的项目行的最好方法是开始小,只是尝试的东西,直到你满意你的工具:选择一个库,并试图实现一个相对简单的解析器,像只是数字解析表达式, +
和*
,甚至只是分析数字和+
与包围...小东西(但也不能太小;每个这两个例子都非小事,第一个具有运算符优先级,第二个递归嵌套)。 如果你不喜欢图书馆了,尝试不同的库。
它在几乎所有的语言已经完成。
Python有解析代数方程和符号数学都准备去图书馆:
http://code.google.com/p/sympy/
我建议再利用,除非你的目的是学习如何写这样的事情。
Python或MATLAB将是我的建议。 你打算存储一个字符串整个方程式,然后把它分解后,与因子和简化?
给一些更多的信息,kindof一个很酷的项目。
这是一个老问题,但我想建议你MathParseKit。
这是给定的一个字符串象C ++库“2 * 3/4”给你的函数/变量/常数定义的表达的树。
你可以解决它,但你甚至可以改变它,并把它再次在字符串格式。
你可以找到它:
https://github.com/B3rn475/MathParseKit