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 :

problème avec la définition d'une variable globale


Sujet :

MATLAB

  1. #1
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    191
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Sri Lanka

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 191
    Points : 63
    Points
    63
    Par défaut problème avec la définition d'une variable globale
    Bonjour, j’ai un programme principal dans lequel je définie une variable
    Ensuite je fait appel a une autre fonction, et dans cette fonction j’appelle tout simplement la variable z mais il ne la trouve pas !! et je ne vois pas pourquoi?

  2. #2
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    Bonjour,

    Bon on le répète souvent sur le forum, mais comme ce n'est vraiment pas la bonne façon de programmer j'en remet un couche : les variables globales, c'est mal!!!!

    Ceci étant dit, c'est toi qui choisi donc pour répondre à ta question, il faut déclarer ta variable z dans toutes les fonctions dans lesquelles tu l'utilises. Donc dans ton programme principal et dans tes fonctions doit se trouver la ligne :
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  3. #3
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    191
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Sri Lanka

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 191
    Points : 63
    Points
    63
    Par défaut
    Je vois!! Je ne savais pas que c'est une mauvaise méthode
    Comment alors faire pour ne plus la définir comme variable global et au même temps elle sera reconnu lors de l'appel de l'autre fonction?

  4. #4
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    191
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Sri Lanka

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 191
    Points : 63
    Points
    63
    Par défaut
    et merci pour la solution

  5. #5
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    C'est une mauvaise méthode car lorsque tu commences à avoir un programme compliqué, tu risques de ne plus savoir ou tu modifies cette variables, si quelqu'un d'autre reprend tes programmes, il pourrait utiliser cette variable et la modifier sans savoir que c'est une variable globale...

    Pour ne pas utiliser de variables globales, cela dépend de la structure de tes programmes, de ce qu'ils font...

    Mais basiquement, tu peux utiliser les paramètres d'entrées/sorties de ta fonction. Voici un exemple dans lequel une fonction modifie la valeur d'un paramètre créé dans un programme principal :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    % Exemple de programme principal
     
    % Ici je définis un paramètre qui me servira dans certaines de mes fonctions
    monParametre = ...;
    % Utilisation de monParametre dans une fonction :
    monParametre = mafonction(monParametre);
    Et la fonction mafonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    resultat = mafonction(z)
     
    resultat = ... % quelque chose en fonction de z
    Ce n'est qu'un exemple, si cela ne te convient pas, décrit nous ce que tu veux faire.
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  6. #6
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    191
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Sri Lanka

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 191
    Points : 63
    Points
    63
    Par défaut
    si ça me convient
    merci beaucoup

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème avec la valeur d'une variable globale
    Par sab_info dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 07/06/2013, 13h26
  2. [MySQL] problème avec la récupération d'une variable session
    Par roy-mustang dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 16/06/2011, 16h01
  3. [XL-2003] Problème avec la définition d'une plage de données
    Par coklin dans le forum Excel
    Réponses: 1
    Dernier message: 15/01/2010, 19h18
  4. Réponses: 4
    Dernier message: 13/06/2008, 11h09
  5. Réponses: 2
    Dernier message: 16/11/2007, 19h38

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