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 :

Fonction squeeze et fichier netcdf


Sujet :

MATLAB

  1. #1
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Novembre 2013
    Messages : 4
    Par défaut Fonction squeeze et fichier netcdf
    Bonjour à tous,
    Je voudrais plotter un fichier netcdf, ci-après vous trouverez les variables que je veux plotter et leurs dimensions (30 correspond au nombre de lignes de la matrice, 38 et 39 c'est les colonnes et normalement, il y a 42/43 niveaux de profondeurs :

    double std_u(s_rho,eta_u,xi_u), shape = [30 39 42]
    :long_name = "standanrd deviation of u-momentum component"
    :units = "meter second-1"
    double std_v(s_rho,eta_v,xi_v), shape = [30 38 43]
    :long_name = "standanrd deviation ofv-momentum component"
    :units = "meter second-1"
    Je voudrais plotter seulement le niveau 5 (correspondant à 5 m de profondeur).
    Pour ce faire, j'ai utilisé la fonction squeeze et je ne sais pas si c'est correcte...
    ci-après le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    x = nc_varget('std_u_v_2006.nc','std_u');
    y = nc_varget('std_u_v_2006.nc','std_v');
    janx=squeeze(x(5,:,:));
    jany=squeeze(y(5,:,:));
    janxr=janx(1:30,2:37);
    janyr=jany(1:30,2:37);
    janxr(janxr==1e37)=NaN;
    janyr(janyr==1e37)=NaN;
     
    quiver(janxr,janyr, 6)
    contourf(janxr,8);
    Je voudrais savoir si c'est correcte ou est ce que j'ai tout faux

  2. #2
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 317
    Par défaut
    Ne serait-ce pas plutôt ceci ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    janx = x(:,:,5);
    jany = y(:,:,5);

  3. #3
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Novembre 2013
    Messages : 4
    Par défaut
    Bonjour DUT,
    Tu trouveras, ci-joint le fichier que j’obtiens avec mon code initial (IM1). Si je change, et c'est logique de mettre la troisième dimension en troisième lieu : le résultat ne ressemble plus à la réalité (voir IM2)
    PS : J'ai mis les outputs ainsi que le fichier netcdf (pas volumineux) en pièce jointe

    Nom : Im1.png
Affichages : 100
Taille : 213,9 Ko

    Nom : Im2.png
Affichages : 106
Taille : 84,2 Ko

    std_u_v_2006.7z

  4. #4
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 317
    Par défaut
    Je pense que la réponse se trouve ci-dessous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    >> x = ncread('std_u_v_2006.nc','std_u');
    >> whos
      Name       Size                Bytes  Class     Attributes
    
      x         42x39x30            393120  double

  5. #5
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Novembre 2013
    Messages : 4
    Par défaut
    Merci beaucoup Dut pour ton aide si précieuse!!!
    Bonne fin d'après midi

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

Discussions similaires

  1. Réponses: 20
    Dernier message: 15/05/2006, 11h47
  2. Est-il possible d'exécuter une fonction à partir de fichier
    Par magic8392 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 8
    Dernier message: 16/09/2005, 13h59
  3. Fonctions inlines et fichiers .lib
    Par michhh dans le forum C++
    Réponses: 3
    Dernier message: 05/07/2005, 03h09
  4. Réponses: 2
    Dernier message: 10/05/2005, 10h58
  5. Créer un champ en fonction d'un fichier excel
    Par nberthonneau dans le forum Access
    Réponses: 8
    Dernier message: 03/11/2004, 18h02

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