Rechercher : dans
Par :

[MATLAB] - temps d'exécution d'une variable

Dernière réponse le 22 aoû 2008 à 17:30:01 smo8000, le 22 aoû 2008 à 15:33:35 
 Signaler ce message aux modérateurs

Bonjour, je désire créer une boucle comme suit :

une variable qui s'exécute durant x temps une fois ce temps dépassé une autre prend le relais pendant ce même x temps et ensuite cela revient sur la première.

Dans mon cas :
j'ai une vitesse par exemple
V1 = 10km/h
qui doit s'exécuter durant 30min ensuite une vitesse
V2 = 5Km/h
qui doit s'exécuter durant les 30 prochaines min puis cela doit revenir à V1 pendant 30 min et ainsi de suite

j'ai pensé a quelques chose dans le genre :

V1 = 10km/h;
while t<30min,
if t>30min, end

v2 = 5km/h;
while t>30min,
if t<30min, end

Déjà je voulais savoir si j'étais partie sur de bonne base ensuite je vois pas comment intégrer le faites que chaques phases dure 30 min puis la 2e prend le relais et ainsi de suite.

Je penses qu'il faudrait mettre le temps au démarrage du programme ensuite mettre un t+k avec k pair ou impair suivant la vitesse que l'on veut exécuter.

Débutant sur matlab je vous avoue que j'ai du mal à tout mettre en commum donc si quelqu'un veut bien m'aider j'apprécierai énormement :)

Merci

Configuration: Windows XP
Internet Explorer 6.0

Meilleures réponses pour « [MATLAB] temps d'exécution d'une variable » dans :
Manipulations élémentaires des tableaux sous MatLab VoirSommaire I. Stockage des tableaux II. L'indexation linéaire II.1. Accéder à un élément d'un tableau en utilisant l'indexation linéaire II.2. Passer d'une indexation à l'autre II.2.1. La fonction ind2sub II.2.2. La fonction sub2ind III. La...
Exécuter un script shell VoirExécution d'un script Pour pouvoir exécuter un script ou un programme en ligne de commande il y a plusieurs possibilités : 1. Le chemin absolu 2. Le chemin relatif 3. Modifier la variable PATH Note: Le Sha...
[PHP] Notice: Undefined index: VoirSi vous utilisez les tableaux $_POST ou $_GET pour récupérer les variables de vos formulaires ou autres, il se peut que vous tombiez sur cette erreur: Notice: Undefined index 'champs du tableau' in 'chemin du fichier php en cours d'execution' on line...
Javascript - Les variables VoirLe concept de variable Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. En Javascript, les noms de variables peuvent être aussi long que l'on désire,...
Variables d'environnement VoirVariables d'environnement Une variable d'environnement est une valeur dynamique, chargée en mémoire, pouvant être utilisée par plusieurs processus fonctionnant simultanément. Sur la plupart des systèmes d'exploitation, les emplacement de...
PHP - Les variables VoirConcept de variable avec PHP Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. Les variables en langage PHP peuvent être de trois...

1

@nGel_974, le 22 aoû 2008 à 15:45:18
  • +1

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 :)

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 ;)
Norton oO ? Mais c'est un Virus !!! On compte jusqu'à 3 et on désinstalle !!! 3 x)
Vista Rules !!!
GoOgle un ami qui vous veut du bien :)

Répondre à @nGel_974

2

mich62120, le 22 aoû 2008 à 16:30:48
  • +1

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 Quand l'homme a découvert que la vache donnait du lait, que ­cherchait-il à faire exactement à ce moment-là ?

La vie est une maladie mortelle sexuellement transmissible.S­ortez couvert!!!! :D

Répondre à mich62120

3

 mich62120, le 22 aoû 2008 à 17:30:01
  • +1

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é

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



Quand l'homme a découvert que la vache donnait du lait, que cherchait-il à faire exactement à ce moment-là ?

La vie est une maladie mortelle sexuellement transmissible.Sortez couvert!!!! :D

Répondre à mich62120
Collection CommentÇaMarche.net