【问题标题】:Integrals in java [closed]java中的积分[关闭]
【发布时间】:2015-05-17 17:09:01
【问题描述】:

我想问一下java中是否有一个库或方法可以接受一个包含诸如“4x^2 + 3x”之类的函数处方的字符串并返回该字符串的集成版本。当输入为“4x^2 + 3x”时,我希望得到类似“(4/3)x^3 + (3/2)x^2 + c”的输出。

【问题讨论】:

  • 有时会针对在 stackoverflow 中被视为离题的库提出建议。
  • @Razib 有时不是,它总是跑题。
  • Symja 是用 Java 编写的。试试在线演示:symjaweb.appspot.com >>> Integrate(4*x^2 + 3*x, x) 3/2*x^2+4/3*x^3 >>> NIntegrate(4*x^2 + 3*x, {x,-3,3}) 71.99999999999996

标签: java math calculus


【解决方案1】:

您可以使用以下 java 多项式类 http://www.comscigate.com/cs/IntroSedgewick/90scientific/92symbolic/Polynomial.java.html。它有一个public Polynomial integrate() 函数。 您必须将您的 String 解析为此类的一个实例。

【讨论】:

  • 不知道 OP 是否需要集成任何东西,包括 sin、cos 或 log 等函数?
【解决方案2】:

最好使用 Matlab。它具有您在数学中可以想到的所有功能。它还允许您绘制结果并在 servlet 中使用图表。

  1. 安装 MATLAB 运行时和生成的 JAR
  2. 在 Matlab 中编写函数
  3. 从 Matlab 生成包含它们的 JAR
  4. 在您的自定义 Java 类中调用它们

    查看an example of integrals 并了解有关how to setup the development environment 的更多信息

【讨论】:

    【解决方案3】:

    您所要求的通常称为“符号数学”。您可以在 Wolfram Alpha 在线进行此类操作(也可能在其他地方):

    https://www.wolframalpha.com

    输入“4x^2 + 3x 的导数”或“4x^2 + 3x 的积分”以查看...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-11
      • 1970-01-01
      • 1970-01-01
      • 2013-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多