bonjour,
j'ai écrit un programme sur Matlab 7.
le problème est que quand je change une valeur des variables, l'execution devient très lente !
ya-t-il un moyen pour diminuer le temps de l'execution?
merci et bonne soirée.
bonjour,
j'ai écrit un programme sur Matlab 7.
le problème est que quand je change une valeur des variables, l'execution devient très lente !
ya-t-il un moyen pour diminuer le temps de l'execution?
merci et bonne soirée.
Sans nous montrer le code, cela va être difficile de d'aider
As-tu essayé le PROFILER (Profiling for Improving Performance) de MATLAB pour analyser ton code ?
voila ce que j'obtient avec le profile:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 FunctionTable: [96x1 struct] FunctionHistory: [2x0 double] ClockPrecision: 4.7619e-010 ClockSpeed: 2.1000e+009 Name: 'MATLAB'
Quelle est exactement ta version de MATLAB ?
Utilise la fonction VERSION pour le savoir.
j'utilise cette version:
7.2.0.232 (R2006a)
Utilise le profiler sous le menu Tools > Open profiler de MATLAB.
Ajoute le nom de ton code dans la case Run this code et clique sur Start profiling
Tu devrais voir un tableau récapitulatif apparaitre
d'après le tableau, c'est 3 sous fonctions qui prennent le plus de temps (48secondes), par contre pour les autres, c'est un temps négligeable.
Ensuite, dans le tableau récapitulatif, tu cliques sur les liens de chaque sous fonction pour déterminer les lignes qui posent problème.
ça ralentit dans les lignes où après qu'il fait sont calcul, je lui impose des valeurs comme conditions aux limites.
pour la 1ère et 2ème sous fonctions:
tandis que pour la 3ème:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 J2(1,1)= 2.3e-3;J2(2,1)= 2.5e-3;J2(1,5)=1e-6;J2(2,5)=1e-7;J2(3,5)=0; J2(4,5)=0;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 T=[1;-0.8;2;0]*B;
Utilises-tu des matrices creuses (sparse) ? Parce que sinon, les lignes que tu montres sont des opérations élémentaires, non optimisable
non, je n'utilise pas des matrices creuses
Dans ce cas, si tu ne nous montres pas ton code, ou si tu n'en as pas le droit (confidentialité), nous ne pourrons guère t'aider plus malheureusement
je crois que je pourrais m'en sortir tout seul.
j'ai trouvé des exemples sur internet de matrices creuses.
merci beaucoup.
franchement, ce projet n'aurait pas pu avancé sans ton aide.
encore merci.
Partager