thomasgara, post:3, topic:132123 a écrit:
Il faudrait voir quelles operations tu fais et comment tu calcules tes produits, comment tu les simplifies/optimises/ordre/memoire/etc. mais…
!!! Team FORTRAN !!! <3 (ou C, allez a la rigueur)
Plus serieusement, si c’est pour du pratique/cambouis, en terme de logiciel, matlab (/ octave, pour la version GNU) te suffira probablement.
Pas sur d’une amelioration considerable par rapport au vba, vu que matlab reste un langage pas bien efficace, mais bon.
Fortran représenterait quel gain d’efficacité ? Car dans l’affaire je dois aussi plotter et visualiser des données.
L’avantage d’excel c’est aussi de pouvoir visualiser les données facilement, y compris sous forme de tableau ou graphe.
Matlab j’y ai pensé car je pensais qu’il était optimisé pour les calculs matriciels ?
En plus je connais un peu.
Aucune gestion de la mémoire en vba.
Les optimisations de base du code consistent à calculer et écrire dans le code et non dans les cellules, puis tout écrire d’un coup à la fin.
Peut être que simplement déplacer le fichier sur le SSD de mon pc pourrait accélérer certaines opérations nécessitant d’accéder à la mémoire disque déjà…
phesm, post:2, topic:132123 a écrit:
Tu continues à faire des choses étranges…
La première chose à faire serait de voir comment simplifier tes 20 produits de matrices, peut être en les regroupant au mieux.
En écrivant le code je me suis aperçu que certaines matrices étaient identiques et je ne les calcule qu’une fois.
Les améliorations que je vois consistent peut être à remplacer trois calculs 31 en un calcul 33 mais à part ça…
Les calculs matriciels consistent à faire pivoter un point (confondu avec son vecteur radial) puis deux autres axes autour d’axes distincts, d’angles distincts, avec un cheminement différent pour les 3, donc je ne pense pas que ce soit facile d’en enlever.
On peut par contre peut être optimiser mon calcul de matrice de rotation (j’utilise la formule générale de matrice de rotation donnée par maple) et mon calcul de multiplication matricielle (triple boucle for) ?
Je cherche juste à faire une représentation cinématique du système terre-soleil, le problème cinématique est déjà assez compliqué en lui même. J’ai fait tout « correctement » et je trouve bien une équation du temps de la bonne forme, de la bonne amplitude, signe qu’il y a du vrai là dedans, mais à l’envers, ce qui reste incompris à ce stade.
Je pense que mon ordinateur pourrait faire tourner le calcul 10 à 15 fois plus vite au moins car à peine 7% du processeur est utilisé.
30 secondes pour l’année deviendrait 2 secondes, ça aiderait pas mal.