从值数组中查找 Scala 中曲线下的面积(积分)

Finding area under the curve(Integration) in Scala from Array of values

您好,有人知道可以执行标题中指定的操作的标准库吗?理想情况下,用法应该是这样的:https://docs.scipy.org/doc/numpy/reference/generated/numpy.trapz.html

我研究了很多,找不到类似的东西。 一切都使用 apache PolynomialFunction class 它将多项式参数而不是 y-coordinates

作为输入

使用 Breeze,您可以编写任何类型的函数来进行类型检查并将其传递给 trapezoid,您可以只在函数中包含映射:

val f = (x: Double) => {
  val xToY = Map(1.0 -> 1.0 , 2.0 -> 2.0, 3.0 -> 3.0)
  xToY(x)
}

scala> import breeze.integrate._
scala> trapezoid(f, 1, 3, 3)
res0: Double = 4.0

虽然它有使用限制,因为它需要映射在它定义的范围之间没有间隙。