java - Apache 共享数学 : get derivate/integrate function

标签 java apache-commons-math

我正在使用 PolynomialFunction。我通过以下方式导出/集成我的函数 f:

// derivation ...
new PolynomialFunction(vector).value(x).getPartialDerivative(derivationOrder)
// integration ...
UnivariateIntegrator integrator = new IterativeLegendreGaussIntegrator(pointsNumber, relativeAccuracy, absoluteAccuracy, minIterations, maxIterations);
integrator.integrate(128, f, from, to);

但是如何在不指定实际值的情况下从函数f获得推导/积分结果呢?

即求导 (8 + 3x + x^2) => 3 + 2x

最佳答案

我不相信 Apache Math Commons 库支持符号导出/集成。但是,如果您像问题所暗示的那样使用多项式,那么这在计算上就足够简单了。如果您将多项式表示为系数数组,就像 Apache 对其 PolynomialFunction 所做的那样,这会变得非常简单。

导数:

  1. 将每个系数乘以其对应的单项式的次数(恰好是系数的索引)。
  2. 删除数组开头的 0。

集成:

  1. 将每个系数除以对应的单项式 + 1 的次数(即索引+1)。
  2. 将一个未确定的常量添加到数组的开头(除非您从 0 积分到变量,然后可以将其设为 0)。

对任意函数执行此操作变得更加困难,有时甚至是不可能的。有一些程序在这方面非常擅长,例如 SageMath。我会查阅微积分文本以获取更多信息。我希望这有帮助!

关于java - Apache 共享数学 : get derivate/integrate function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30649558/

相关文章:

java 在 linux 中不工作。为什么?

java - ClassNotFoundException的不可用catch block 。永远不会从try语句主体中抛出此异常

java - 同时从 FTP 读取文件并将文件保存到 FTP

java - Apache 公共(public)数学 3 : always getting UnboundedSolutionException when constructing a model

java - While 语句中整数的最小值和最大值

java - 如何在 GWTBootstrap3 的 Popover 或 Tooltip 中启用 HTML?

java - 如何从 Apache Commons Math - Java 库中找到伪逆

java - z 分数和 Java 中的 p 值(生存函数)

java - 如何将 double 组转换为集合?

java - 如何在 Android Studio 中添加 commons-math 库