2017-04-26 1 views
0

Salut, est-ce que quelqu'un connaît une bibliothèque standard qui peut faire ce qui est spécifié dans le titre. Idéalement, l'utilisation devrait être quelque chose comme ceci: https://docs.scipy.org/doc/numpy/reference/generated/numpy.trapz.htmlRecherche d'une zone sous la courbe (Intégration) dans Scala à partir d'un tableau de valeurs

J'ai fait beaucoup de recherches et je n'ai rien trouvé de similaire. Tout utilisé classe apache PolynomialFunction qui prend en entrée les paramètres du polynôme et non les coordonnées y

+0

https://github.com/scalanlp/breeze/wiki/Integration –

+0

Cela prend une fonction, si je le savais, je voudrais juste utiliser la bibliothèque mathématique apache. – user7036237

Répondre

1

En utilisant Breeze vous pouvez écrire tout type de fonction de type contrôle et le transmettre à trapezoid, vous pouvez simplement inclure la cartographie dans la fonction :

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 

Bien que son utilisation soit restreinte, il nécessite que le mappage ne comporte pas d'espaces entre les plages qu'il a définies.