Question

J'essaie d'appliquer un filtre Kalman aux lectures de capteurs à l'aide de Java, mais la bitriche de manipulation que j'utilise me donne une erreur de l'espace de démarrage.Donc, quelqu'un connaît-il une bibliothèque de manipulation matricielle pour la JVM avec de meilleures caractéristiques d'allocation de mémoire?

Il semblerait que celui-ci - http://code.google.Com / p / Efficace-Java-Matrix-Library / - est "Efficace" uniquement dans le nom.Le jeu de données comporte 9424 lignes de 2 colonnes, toutes les valeurs sont doubles (horodatage et une dimension sur 3 sur les lectures d'un capteur).

Merci beaucoup, les gars!

Était-ce utile?

La solution

1) Le filtre Kalman ne doit pas nécessiter des quantités d'échelle massives et non linéaires: il ne fait que calculer les estimations basées sur 2 valeurs - la valeur initiale et la valeur précédente. Ainsi, vous devez vous attendre à ce que la quantité de mémoire aura besoin devrait être proportionnelle à la quantité totale de points de données. Voir: http://rsbweb.nih.gov/ij/plugins/kalman.htmlled/ a>

2) La commutation sur des flotteurs sera 1/2 la mémoire requise pour votre calcul. Cela sera probablement insignifiant dans votre cas - je suppose que si le jeu de données se bloque en raison de la mémoire, vous exécutez votre JVM avec une très petite quantité de mémoire ou vous avez un ensemble de données massif.

3) Si vous avez vraiment un ensemble de données volumineux (> 1g) et de la moitié, il est important, la bibliothèque que vous avez mentionnée peut être refactée pour seulement utiliser des flotteurs.

4) Pour une comparaison des bibliothèques Java Matrix, vous pouvez vérifier http : //code.google.com/p/java-matrix-benchmark/wiki/memoryResults_2012_02 --- Les plus basses empreintes de mémoire de mémoire sont OJALGO, EJML et Colt. Ive avait une excellente chance avec Colt pour des calculs à grande échelle - mais je ne suis pas sûr que ceux qui mettent en œuvre la méthode Kalaman.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top