Bonjour,
J'ai un soucis qui pourra sembler anodin pour certains (je l'espère) mais qui bloque la progression de mon stage depuis 15 jours. Désolé si le msg est un peu long mais j'essai d'être le plus clair possible.
En fait je dispose de stations pluviométriques que j'ai importées dans mon workspace. Le nom de mes stations (ou variables) est un indicatif de 8 caractères. Chaque variable est un tableau (matrice) avec les mois en colonne et les années en ligne. J'ai réalisé des fonctions ayant pour but de réaliser des calculs et des graphs.
J'arrive a lancer mes fonctions pour une station en lui mettant en variable d'entrée le nom de ma station :valeur=y(a,b) <-cela me permet d'aller chercher la valeur du cumul mensuel de précipitation du mois et de l'année qui m'intéresse
Code : Sélectionner tout - Visualiser dans une fenêtre à part function[]=essai(y)
size(y) me donne 38 lignes 27 colonnes par exemple (ce qui est bien la taille de mon tableau)
Jusque la cela fonctionne. Mais le problème c'est lorsque je désire automatiser tout cela, c'est a dire lancer la fonction et que matlab me le fasse pour toutes les stations dans mon workspace.
J'ai essayé d'utiliser la fonction Who (qui me renvoit le nom de toutes mes variables présentent dans le worspace) et de stocker cela dans un vecteur colonne nommé P. Je pensais faire une boucle (sur i) dans laquelle je mettrais:Lorsque je fais cela, "y" vaut (par exemple):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 for i=1:n (avec n le nombre de station dans le workspace) y=P(i) appel de ma fonction avec "y" (=nom station) comme variable d'entrée end
y='CAGUAZUL' (si le nom de la station est AGUAZUL) mais sa taille a changé : size = 1,1
Je pense qu'il voit y comme un phrase et ne renvoit plus aux données dans le workspace.
En fait je ne sais pas comment lui dire d'aller chercher une valeur (ligne a,colonne b) dans la station dont le nom est donné par "i" .
J'espère avoir été assez clair même si personnellement j'en doute. Ce n'est pas évident d'expliquer par mail.
Je m'en remet à vous,
Merci d'avance
Joel
Partager