Global var
Résolu/Fermé
atiffa
Messages postés
54
Date d'inscription
lundi 4 février 2008
Statut
Membre
Dernière intervention
10 juin 2009
-
9 févr. 2008 à 16:26
atam1987 Messages postés 2 Date d'inscription mercredi 26 septembre 2012 Statut Membre Dernière intervention 4 octobre 2012 - 26 sept. 2012 à 11:05
atam1987 Messages postés 2 Date d'inscription mercredi 26 septembre 2012 Statut Membre Dernière intervention 4 octobre 2012 - 26 sept. 2012 à 11:05
A voir également:
- Global var
- Global positioning system - Accueil - Transports & Cartes
- Votre GPS n'indique pas la même vitesse que votre compteur de voiture - laquelle est la bonne ? - Accueil - Transports & Cartes
- Www.westernunion/global/fr/gcr.html - Forum Jeux vidéo
- Error 2002 (hy000): can't connect to local mysql server through socket '/var/run/mysqld/mysqld.sock' (2) ✓ - Forum Linux / Unix
- Impossible de verrouiller le répertoire /var/lib/apt/lists/ ✓ - Forum Ubuntu
5 réponses
Sacabouffe
Messages postés
9427
Date d'inscription
dimanche 19 août 2007
Statut
Membre
Dernière intervention
29 mai 2009
1 834
13 févr. 2008 à 23:48
13 févr. 2008 à 23:48
Salut de nouveau atiffa
Comme pour les autres posts : help global
Pour les explications :
Quand tu définis une variable à l'intérieur d'une fonction, elle est locale. Sorti de ta fonction la variable existe plus (sauf si c'est une variable de sortie).
Je connais pas trop ton domaine, mais si t'as une constante physique par exemple que tu utilises dans plein de fonctions, plutôt que de la passer en argument à chaque fois ou de la redéfinir dans chaque fonction, tu la définis une fois pour toute comme variable globale.
Exemple, je sais pas...
Tu fais une gros programme qui fait appel à des petites fonctions. Appelons main.m le gros programme et supposons que ton programme soit un truc d'électromagnétisme.
T'auras alors besoin de la permittivité diélectrique du vide ε0, de la perméabilité magnétique du vide μ0 et de la vitesse de la lumière c=1/√(ε0μ0) dans toutes les petites sous fonctions.
T'écris ton programme main.m
Et pour chaque fonction, d'une part tu n'auras pas à passer les constantes en arguments et d'autre part tu n'auras pas à redéfinir ces constantes dans les fonctions.
Après tu peux aussi définir la valeur d'une variable globale du main.m par appel d'une fonction...
Ça te va à peu près ou pas du tout?
Comme pour les autres posts : help global
Pour les explications :
Quand tu définis une variable à l'intérieur d'une fonction, elle est locale. Sorti de ta fonction la variable existe plus (sauf si c'est une variable de sortie).
Je connais pas trop ton domaine, mais si t'as une constante physique par exemple que tu utilises dans plein de fonctions, plutôt que de la passer en argument à chaque fois ou de la redéfinir dans chaque fonction, tu la définis une fois pour toute comme variable globale.
Exemple, je sais pas...
Tu fais une gros programme qui fait appel à des petites fonctions. Appelons main.m le gros programme et supposons que ton programme soit un truc d'électromagnétisme.
T'auras alors besoin de la permittivité diélectrique du vide ε0, de la perméabilité magnétique du vide μ0 et de la vitesse de la lumière c=1/√(ε0μ0) dans toutes les petites sous fonctions.
T'écris ton programme main.m
global eps0; global mu0; global c; eps0=8.85418781762039e-12; mu0=pi*4e-7; c=1/sqrt(eps0*mu0); %% Des calculs... ... %% Appel d'une première fonction pour laquelle on peut avoir %% besoin des constantes précédemment définies ma_fonction1 (liste_arguments_1) %% Appel d'une seconde fonction pour laquelle on peut avoir %% besoin des constantes précédemment définies ma_fonction2(liste_arguments_2) %% Etc... ...
Et pour chaque fonction, d'une part tu n'auras pas à passer les constantes en arguments et d'autre part tu n'auras pas à redéfinir ces constantes dans les fonctions.
Après tu peux aussi définir la valeur d'une variable globale du main.m par appel d'une fonction...
Ça te va à peu près ou pas du tout?
atiffa
Messages postés
54
Date d'inscription
lundi 4 février 2008
Statut
Membre
Dernière intervention
10 juin 2009
12
14 févr. 2008 à 10:23
14 févr. 2008 à 10:23
Re:Salut sacabouff
On fait ce qui je trouve contradictoire c'est que on déclare une constante comme variable globale
je pense que tu ma bien aider avec ton exemple
et je te remercie pour tes aides et surtôut pour ta patience
tu as l'aire trés sympa
je te remercie beaucoup
A plus
On fait ce qui je trouve contradictoire c'est que on déclare une constante comme variable globale
je pense que tu ma bien aider avec ton exemple
et je te remercie pour tes aides et surtôut pour ta patience
tu as l'aire trés sympa
je te remercie beaucoup
A plus
Sacabouffe
Messages postés
9427
Date d'inscription
dimanche 19 août 2007
Statut
Membre
Dernière intervention
29 mai 2009
1 834
14 févr. 2008 à 14:10
14 févr. 2008 à 14:10
Rere salut
Oui t'as pas tort, c'est vrai que mon exemple pouvait porter à confusion.
Disons que c'est plus le nom en fait qui est global, j'ai donné un exemple avec des constantes parce que c'est le premier truc qui m'est passé par ma ptite tête.
Mais par exemple dans un gros programme main.m, tu peux aussi faire quelque chose de ce genre avec une variable globale U :
Et dans la liste des arguments il n'y aura pas la variable U puisqu'elle est globale. Donc la terminologie "variable" est adaptée dans ce cas puisque tu peux modifier U à volonté.
Mais tape help global sous Matlab ce sera peut-être plus clair pour toi que mes explications.
"tu as l'air très sympa"
Te fie pas aux apparences :-D
A plus
Oui t'as pas tort, c'est vrai que mon exemple pouvait porter à confusion.
Disons que c'est plus le nom en fait qui est global, j'ai donné un exemple avec des constantes parce que c'est le premier truc qui m'est passé par ma ptite tête.
Mais par exemple dans un gros programme main.m, tu peux aussi faire quelque chose de ce genre avec une variable globale U :
global U %% U est une matric 3x3 aléatoire au départ par exemple U=rand(3,3); %% Appel d'une fonction qui modifie U ma_fonction(liste_arguments) %% Etc.. ...
Et dans la liste des arguments il n'y aura pas la variable U puisqu'elle est globale. Donc la terminologie "variable" est adaptée dans ce cas puisque tu peux modifier U à volonté.
Mais tape help global sous Matlab ce sera peut-être plus clair pour toi que mes explications.
"tu as l'air très sympa"
Te fie pas aux apparences :-D
A plus
atiffa
Messages postés
54
Date d'inscription
lundi 4 février 2008
Statut
Membre
Dernière intervention
10 juin 2009
12
14 févr. 2008 à 15:17
14 févr. 2008 à 15:17
Re salut
en fait avant que je pose chaque question sur le forum je cherche dans le help et sur internet et quand j'ai des mal à comprend qlq chose je passe au forum
mon probléme c'est que je suis vraiment débutant en informatique c'est pour ca j'ai des mal à comprend parfois
en tous cas je te remercie beaucoup
" quand j'ai dit tu as l'air très sympa, c'est / à ta disponibilité et ta patience quand tu me répond"
et sans arrier ponser :-D
A plus
en fait avant que je pose chaque question sur le forum je cherche dans le help et sur internet et quand j'ai des mal à comprend qlq chose je passe au forum
mon probléme c'est que je suis vraiment débutant en informatique c'est pour ca j'ai des mal à comprend parfois
en tous cas je te remercie beaucoup
" quand j'ai dit tu as l'air très sympa, c'est / à ta disponibilité et ta patience quand tu me répond"
et sans arrier ponser :-D
A plus
Sacabouffe
Messages postés
9427
Date d'inscription
dimanche 19 août 2007
Statut
Membre
Dernière intervention
29 mai 2009
1 834
14 févr. 2008 à 15:32
14 févr. 2008 à 15:32
OK, OK...
Je me doutais bien que c'était sans arrière pensée. Je rigolais, ça me fait plaisir que tu penses ça.
Je réponds à ton autre post.
Je me doutais bien que c'était sans arrière pensée. Je rigolais, ça me fait plaisir que tu penses ça.
Je réponds à ton autre post.
atiffa
Messages postés
54
Date d'inscription
lundi 4 février 2008
Statut
Membre
Dernière intervention
10 juin 2009
12
15 févr. 2008 à 15:44
15 févr. 2008 à 15:44
merci encore
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
atam1987
Messages postés
2
Date d'inscription
mercredi 26 septembre 2012
Statut
Membre
Dernière intervention
4 octobre 2012
26 sept. 2012 à 11:05
26 sept. 2012 à 11:05
bon jour
mais est ce que tu peut me donner un exemple de passer en argument à chaque fois ou de la redéfinir dans chaque fois (le contraire) , pour mieux déterminer la différence
merci pour votre aide
mais est ce que tu peut me donner un exemple de passer en argument à chaque fois ou de la redéfinir dans chaque fois (le contraire) , pour mieux déterminer la différence
merci pour votre aide