Java:是有一个工具,可以让我输入、保存和评估的数学公式?
题
甚至一些非常基本的是好的。就像进入和评估的东西喜欢x+1,其中x是可变的,我获得指定。
我想写我自己使用的字符串的每个公式,regex用于分析他们,等等, 但是,让我们承担我的目标是尽可能偷懒,因为我可能可以逃脱,而如果有另一种选择(尤其是一个正式的之一),我宁愿尝试使用,而不是,第一次。
是否有任何东西在那里,做这样的事情?
解决方案
您可以考虑从Java使用脚本 6.参考JDK附带一个JavaScript实现,你也可以插入其他语言。
其他提示
我知道下面的图书馆:
Symja分析器 (Apache许可证)支持Mathematica喜欢的语法
JParser (BSD许可证)
Jep-Java数表达式分析器 (商业旧版本在GNU公共许可证?)
JFormula (商业)
JEval (Apache许可证)
MathEval-表达的数学计算器 (公共领域的和非常小的足迹)
我几年前成功使用了 JEP ,但似乎仍然如此积极发展。我相信他们当时拥有更宽松的许可证,但它可能比自己编码便宜(取决于你的确切需求和技能)。
我已经构建了一个java库来为我自己做Lex / YACC的学习示例。它被纳入一个更大的项目,似乎运作良好。如果我再次启动更大的项目,我将遵循上面的建议并使用Java脚本引擎。
您可以尝试 LibFormula ,这是一个基于公式的公式库在OpenDocument的OpenFormula标准上。
OpenFormula是为电子表格应用程序编写的,并使用接近Excel公式的语法。更多信息可以在 Pentaho-Wiki 中找到
样品:
=[x]+1
你可以检查出来的 exp4j 我放下 Apache许可证2.0.它实现了dijkstra调码算法,以及与多职能喜欢 f(x,foo)=log(foo^(x^-1))
有些人可能会对名为 formula4j 的新工具感兴趣。
它是商业性的,所以并非适合所有人。
也许 MathML ?
MathML是一种低级规范,用于将数学描述为机器到机器通信的基础,这为在网页中包含数学表达式提供了急需的基础。在发布科学和技术工作流程以及数学必须由软件处理的任何地方也很重要。例如,新版本带来了对数学可访问性的改进,以及从右到左编写的语言中的公式。基本标记保持不变,因为社区有七年的经验。