[MATLAB] - temps d'exécution d'une variable
Fermé
smo8000
Messages postés
5
Date d'inscription
vendredi 22 août 2008
Statut
Membre
Dernière intervention
4 septembre 2008
-
22 août 2008 à 15:33
mich62120 Messages postés 631 Date d'inscription jeudi 22 novembre 2007 Statut Membre Dernière intervention 21 janvier 2010 - 22 août 2008 à 17:30
mich62120 Messages postés 631 Date d'inscription jeudi 22 novembre 2007 Statut Membre Dernière intervention 21 janvier 2010 - 22 août 2008 à 17:30
A voir également:
- [MATLAB] - temps d'exécution d'une variable
- Blocage agriculteur carte en temps réel - Accueil - Transports & Cartes
- Renommer plusieurs fichiers en même temps - Guide
- Combien de temps reste une story sur facebook - Guide
- Meilleur ami snap combien de temps ✓ - Forum Snapchat
2 réponses
mich62120
Messages postés
631
Date d'inscription
jeudi 22 novembre 2007
Statut
Membre
Dernière intervention
21 janvier 2010
6
22 août 2008 à 17:30
22 août 2008 à 17:30
Je suis tombé sur cela:
4. Optimisation des calculs
Les calculs sont accélérés de façon spectaculaire en utilisant des opérations vectorielles en
lieu et place de boucles. Comparons les deux fonctions suivantes (la commande tic déclenche
un chronomètre ; toc arrête le chronomètre et retourne le temps écoulé depuis tic) :
function [t,b] = test1(n)
% détermine le temps mis pour créer la liste
% des racines carrées des entiers compris entre 1 et n
m = 0 ;
tic ;
for k = 1 : 1 : n
b(k) = m+sqrt(k) ;
end
t = toc ;
function [t,b] = test2(n)
% détermine le temps mis pour créer la liste
% des racines carrées des entiers compris entre 1 et n
tic ;
a = 1 : 1 : n ;
b = sqrt(a) ;
t = toc ;
Tu peux faire un chrono et ajouter a chaque boucle le temps pour avoir le temps écoulé
Je suis parti du principe que cela retourne des seconde mais à vérifier.
Ce n'est pas précis à la seconde étant donné que des charge seront utilisé hors du compteur mais c'est une diée.
Mich
4. Optimisation des calculs
Les calculs sont accélérés de façon spectaculaire en utilisant des opérations vectorielles en
lieu et place de boucles. Comparons les deux fonctions suivantes (la commande tic déclenche
un chronomètre ; toc arrête le chronomètre et retourne le temps écoulé depuis tic) :
function [t,b] = test1(n)
% détermine le temps mis pour créer la liste
% des racines carrées des entiers compris entre 1 et n
m = 0 ;
tic ;
for k = 1 : 1 : n
b(k) = m+sqrt(k) ;
end
t = toc ;
function [t,b] = test2(n)
% détermine le temps mis pour créer la liste
% des racines carrées des entiers compris entre 1 et n
tic ;
a = 1 : 1 : n ;
b = sqrt(a) ;
t = toc ;
Tu peux faire un chrono et ajouter a chaque boucle le temps pour avoir le temps écoulé
V=15; t=0; while(<condition d'arrêt>) tic ton traitement t=t+toc if (t<=30*60) t=0 if(V=15) V=5; else V=15; end end end
Je suis parti du principe que cela retourne des seconde mais à vérifier.
Ce n'est pas précis à la seconde étant donné que des charge seront utilisé hors du compteur mais c'est une diée.
Mich
@nGel_974
Messages postés
3163
Date d'inscription
dimanche 28 octobre 2007
Statut
Membre
Dernière intervention
25 avril 2010
157
22 août 2008 à 15:45
22 août 2008 à 15:45
Bon vu que tu ne précises pas de langage vais faire un petit algo, ça fait longtemps que je n'en ai pas fait :)
Je te laisse le soin d'effectuer la conversion ;)
timer = 0 V1 = 10 V2 = 5 Vitesse = 0 tempsDebut = 0 While (timer < 30) do timer = tempsDebut + getTime() EndWhile timer = 0 tempsDébut = 0 While (timer < 30) do timer = tempsDebut + getTime() EndWhile
Je te laisse le soin d'effectuer la conversion ;)
mich62120
Messages postés
631
Date d'inscription
jeudi 22 novembre 2007
Statut
Membre
Dernière intervention
21 janvier 2010
6
22 août 2008 à 16:30
22 août 2008 à 16:30
Le language c'est MatLab.
Dsl j'ai pas trouvé comment faire, il y a bien une fonction pause mais elle arrêtera toute exécution au lieu de seulement compté.
Il faut faire une sorte d'interruption si tu veux un comptage du temps parallèle à ton application principale et je vois pas comment faire avec mon peu de connaissance en Matlab.
Bon courage Mich
Dsl j'ai pas trouvé comment faire, il y a bien une fonction pause mais elle arrêtera toute exécution au lieu de seulement compté.
Il faut faire une sorte d'interruption si tu veux un comptage du temps parallèle à ton application principale et je vois pas comment faire avec mon peu de connaissance en Matlab.
Bon courage Mich