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 "Global"


Sujet :

MATLAB

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 9
    Points : 7
    Points
    7
    Par défaut Problème avec "Global"
    Bonjour, je suis étudiant en CPGE, et j'ai un petit problème qui concerne la programmation sous Matlab:
    je veux créer une fonction qui à un argument a renvoie un vecteur colonne à 3 dimensions: voici ma fonction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function w=fct(a);
    global p;
    w=zeros(3,1);
    w(1)=p;
    w(2)=a;
    w(3)=4;
    Mon problème concerne donc le paramètre p; je l'ai défini sur mon workspace mais je veux garder la possibilité de le changer à tout moment. Quand dans la fenetre de commande, je tape w=fct(3), il me répond qu'il y a une erreur au niveau des dimensions à la ligne "w(1)=p" et quand je remplace p par une valeur particulière il n'y a plus de problème.
    Est-ce moi qui n'ai pas bien compris comment utiliser la fonction global?
    J'espère que vous pourrez m'aider.
    Merci.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    769
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 769
    Points : 726
    Points
    726
    Par défaut
    Salut,

    Premier test :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function w=fct(a);
    global p;
    p
    w=zeros(3,1);
    w(1)=p;
    w(2)=a;
    w(3)=4;
    Ca te permet de savoir quelle est la valeur connue pour "p" et là surprise, p est vide...

    Vite vas sur le site de developpez.net et sur la FAQ MATLAB (cherche : global)

    Tu trouveras en plus un lien à la fin des explications qui te permettra de mieux comprendre...

    Si tu ne comprends toujours pas, n'hésites pas, on est là...

    Christophe

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    Merci !
    Finalement j'ai réglé le problème en effectuant la commande "global" avant de donner une valeur à p.

Discussions similaires

  1. [Shell] Problème avec le Back-quote (ksh)
    Par bob94700 dans le forum Linux
    Réponses: 3
    Dernier message: 27/01/2008, 12h45
  2. Sudo problème avec les simples quotes
    Par Tronche dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 23/03/2007, 12h02
  3. [MySQL] Problème avec un double quote
    Par wormseric dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 26/01/2007, 14h44

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