IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MATLAB Discussion :

définition de paramètres globaux


Sujet :

MATLAB

  1. #1
    Membre du Club
    Femme Profil pro
    Inscrit en
    Février 2011
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 221
    Points : 62
    Points
    62
    Par défaut définition de paramètres globaux
    Bonjour,
    En effet j'ai défini des variables globales au niveau de mon fichier principal:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    %Paramètres généraux de simulation
    global config veh leader suiveur Jonc tronc intervalle_gen traj Pas_sim Vmax AccMax DecMax Min_gap Tau Horizon longVeh largeurSection L D TR e ListeVehsortie liste_output;
     
    config = Fichier(0, 0, 0, {}, {}, {}, {}, {}, 0, 0);
    veh = Vehicule (0, 0, 0, 0, 0, {}, {}, {}, {}, {}, {}, 0);
    leader = Vehicule (0, 0, 0, 0, 0, {}, {}, {}, {}, {}, {}, 0);
    suiveur = Vehicule (0, 0, 0, 0, 0, {}, {}, {}, {}, {}, {}, 0);
    Jonc = Jonction ({}, {}, {});
    tronc = troncon ({}, 0, 0, 0, {}, {}, {}, 0);
    intervalle_gen = [8,0];
    traj = [];
     
    Pas_sim = 0.5; 
    Vmax = 25; 
    AccMax = 2.;
    DecMax = -2.;
    Min_gap =10;
    Tau = 0.5;
    Horizon = 0;
    longVeh = 5; 
    largeurSection = 70; 
    L=100000; 
    D=0.1; 
    TR=0.2;
    e=5;
     
     
    ListeVehsortie = {};
    liste_output = {};
     
    config.LireFichierConfiguration();
    Horizon = input('entrez l''horizon de la simulation:');
    Horizon = Horizon/Pas_sim;
    disp(['horizon simul =', Horizon]);
    decalage = Tau / Pas_sim;
    disp(['Decalage de', decalage]);
    LancerSimulation(Horizon,decalage);
    Après, il m'affiche un message d'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    ??? Undefined function or variable "config".
     
    Error in ==> Fichier>Fichier.LireFichierConfiguration at 97
                        config.ListeOrigine{end+1} = orig; %pour rajouter un élément à
                        la liste
     
    Error in ==> main at 39
    config.LireFichierConfiguration();
    C'est à dire comme si ma variable "config" n'est pas globales en fait pour toutes mes fonctions et classes !

  2. #2
    Membre éprouvé
    Inscrit en
    Août 2010
    Messages
    1 124
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 1 124
    Points : 1 277
    Points
    1 277
    Par défaut
    Il faut également les déclarer comme globales dans toute fonction qui les utilise

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Autant de variables globales (fortement déconseillées) est-ce vraiment raisonnable ? Et surtout nécessaire ?

    En voyant toutes ces lignes d'initialisation, je repense à mon conseil de constructeur par défaut...

  4. #4
    Membre du Club
    Femme Profil pro
    Inscrit en
    Février 2011
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 221
    Points : 62
    Points
    62
    Par défaut
    Bonjour,

    J'ai défini toutes ces variables globales car j'ai plusieurs fonctions et classes objets pour mon algorithme et donc je ne veux pas les redéfinir à chaque fois pour ne pas perdre mes données numériques dès que je sors d'une fonction pour le même pas de simulation.
    Jérôme qu'est ce que tu entends par "constructeur par défaut" ?

    Merci d'avance

  5. #5
    Invité
    Invité(e)
    Par défaut
    Si tu as une bonne conception, tu n'as pas besoin d'y avoir recours. Je ne vois pas en quoi sortir d'une fonction pose problème lorsqu'il s'agit d'une méthode de classe...

    Sinon encore la doc pour le constructeur pas défaut :

    Bonne lecture !

Discussions similaires

  1. Gérer des paramètres globaux dans un projet python.
    Par Narann dans le forum Général Python
    Réponses: 4
    Dernier message: 08/06/2011, 17h47
  2. [MySQL] Variable (définition avec paramêtre)
    Par an.pi dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 05/02/2011, 18h43
  3. Réponses: 6
    Dernier message: 08/12/2008, 14h09
  4. [Framework] définition de paramètre dans aop
    Par robert_trudel dans le forum Spring
    Réponses: 0
    Dernier message: 04/08/2008, 17h32
  5. GtkBuilder : définition de paramètres pour mes widgets
    Par bit_o dans le forum GTK+ avec C & C++
    Réponses: 6
    Dernier message: 28/12/2007, 08h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo