【问题标题】:Algorithm or Function to return Y values for X and Equation Inputs返回 X 和方程输入的 Y 值的算法或函数
【发布时间】:2015-07-18 17:40:16
【问题描述】:

我正在创建一个图形计算器,我需要一个算法来解释用户输入的方程。例如,如果用户键入“x^3+5x^2-4x-9”,则算法应该接受字符串输入并返回 (0, -9)、(1, -7) 等。我该怎么做呢?我可以使用任何开源库吗?提前致谢。

【问题讨论】:

标签: java android function equation graphing


【解决方案1】:

您可以实现Shunting-Yard Algorithm,但已经有很多mathematical parsers。软件开发中有句名言:

“不要重新发明轮子。”

我在开发自己的应用程序时遇到了这个问题。如果那里已经有开源库,那么您绝对应该利用它们来发挥自己的优势。话虽如此,如果您想要双精度,我会推荐MathEval 库。就precision 而言,Double 通常就足够了,因为precision 在double 之后,例如BigDecimal,这是一种精确的数字表示方式,就@987654330 而言非常昂贵 @ 和 memory,你想在计算中减少两件事。

生成解决方案的最简单的O(n) 方法是在 for 循环中设置范围,然后根据循环中的迭代对x 使用MathEval's setVariable 方法和通过MathEval's evaluate 方法检索结果。等式中可能存在一些边界,因此请确保计算必要的限制并在循环中调节它们。

查看此链接 Terrance,其中提到了 MathEval 库: Built-in method for evaluating math expressions in Java

如果您需要任何帮助,请告诉我,因为我已经从头开始和通过 external library 实现了 algorithm。

【讨论】:

    猜你喜欢
    • 2013-04-22
    • 1970-01-01
    • 2017-04-02
    • 1970-01-01
    • 2015-03-28
    • 2014-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多