哪个 Java 包包含高级数学函数?

use*_*885 3 java math packages mathematical-optimization

谁能告诉我需要导入哪个包才能使用数学函数,例如导数、求和、指数。我打算做一个关于高斯混合相关的期望和最大化算法的项目。

您建议使用哪些其他软件包?

我是 Java 编程的初学者,这是我大一时的第一个项目。

Mat*_*ero 5

阿帕奇共享数学库包含了许多先进的数学函数和算法,您可以使用。它有一个部分,数值分析,其中有许多常见数学问题的算法,例如求根导数积分

有关该库的更多信息和文档,请参阅超链接。


计算表达式 y=f(x) 的导数的工作流程如下。

首先,我们配置一个类型为 DerivativeStructure 的输入参数 x,例如,它会驱动函数计算所有阶数高达 3 的导数。

然后我们通常通过将此参数传递给 f 函数来计算 y=f(x)。

最后,我们从 y 中提取我们想要的值和导数。

由于我们在构建 x 时指定了 3 阶,因此我们可以从 y 检索到 3 阶的导数。

int params = 1;
int order = 3;
double xRealValue = 2.5;
DerivativeStructure x = new DerivativeStructure(params, order, 0, xRealValue);
DerivativeStructure y = f(x);
Run Code Online (Sandbox Code Playgroud)

然后,您可以得到导数:

System.out.println("y    = " + y.getValue();
System.out.println("y'   = " + y.getPartialDerivative(1);
System.out.println("y''  = " + y.getPartialDerivative(2);
System.out.println("y''' = " + y.getPartialDerivative(3);
Run Code Online (Sandbox Code Playgroud)