J'ai remarqué que matlab fait une fonction de matrice très rapide par exemple ajouter 5 à tous les éléments d'un tableau n * n arrive presque instantanément même si la matrice est grande car vous n'avez pas besoin de boucler chaque élément, faisant la même chose en java, la boucle for prend une éternité si la matrice est grande.matlab matrix fonctions en java
J'ai deux questions, y at-il des classes intégrées efficaces en Java pour faire des opérations matricielles, en second lieu comment puis-je coder quelque chose pour mettre à jour tous les éléments d'une grande matrice dans Java plus efficacement.
Vous ne pouvez pas vraiment comparer la boucle matlab avec la boucle java, java est beaucoup plus rapide. Sans doute, la boucle java est encore plus lente que la bibliothèque Math spéciale écrite en C. Mais êtes-vous sûr que votre plus grande inefficacité est dans les opérations matricielles? De mon expérience pour les mêmes applications portées à Java de matlab, avec des matrices de taille moyenne et sans inversion de matrice, la performance cumulative est similaire.Bien sûr, nous perdons de la performance sur la multiplication/addition matricielle, mais nous gagnons en performance sur tout le reste, comme la répartition des méthodes et l'interface graphique. – Mikhail
Voici une liste des fonctions Matlab et leur équivalent en EJML http://code.google.com/p/efficient-java-matrix-library/wiki/MatlabFunctions. La plupart sont des conversions très simples. –