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 get_var_value ?


Sujet :

MATLAB

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 31
    Points : 20
    Points
    20
    Par défaut fonction get_var_value ?
    Bonjour,

    J'utilise fréquement la fonction get_var_value, mais j'ai du mal à saisir précisément à quoi elle sert et surtout comment on l'utilise.
    Vous allez sans doute me demander pourquoi je m'en sert alors ? Tous simplement parce qu'on m'a donné un morceau de code que j'ai utilisé dans un programme. Seulement, maintenant je suis passé sur un autre programme semblable et je ne sais pas utiliser cette fonction.
    J'ai déja essyé de consulter l'aide, mais elle ne m'a pas apporté grand chose :s

    en vous remerciant.

  2. #2
    Expert éminent sénior
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Points : 14 830
    Points
    14 830
    Par défaut
    Salut,

    Je ne trouve pas cette fonction dans la documentation : tu es sur que c'est une fonction d'origine ?

    Que te retourne :
    Règles du Forum

    Adepte de la maïeutique

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 31
    Points : 20
    Points
    20
    Par défaut
    non je n'en suis pas sur
    on me l'a montré, mais c'est vrai que je n'ai pas pensé qu'elle pouvait ne pas etre d'origine.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     which get_var_value
    /home/biblios/logiciels/matlablib/Lib/Common/Data/@cl_hdf_writer/get_var_value.m
    mais je la trouve si je fais help get_var_value
    (sauf que je comprend pas trop l'aide )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    >> help get_var_value
     --- help for cl_hdf_writer/get_var_value.m ---
     
      Return variable value
     
      SYNTAX :
         v = get_var_value (this, s, varName, FillValue, ScaleFactor, AddOffset)
         v = get_var_value (this, s, varName, FillValue, ScaleFactor, AddOffset, MissingValue)
     
      INPUT PARAMETERS :
        this         : instance of cl_hdf_writer
        s            : structure of data and format
        varName      : variable name
        FillValue    : {0,1}, fill value flag
        ScaleFactor  : {0,1}, scale factor value flag
        AddOffset    : {0,1}, add offset value flag
        MissingValue : {0,1}, missing value flag
     
      OUTPUT PARAMETERS :
        v           : variable value
     
      EXAMPLES :
         [rep, tmp, tmp] = fileparts(which ('cl_hdf_writer/cl_hdf_writer'));
         f = 'exemple.hdf' ;
         fileName = fullfile (rep, 'ressources', f) ;
     
         this = cl_hdf_writer ;
         this = set_file_name (this, fileName) ;
         s = read (this) ;
         get_var_value (this, s, 'wvc_lon', 1, 1, 1)
     
     
      REMARKS :
         . case sensitive
     
      SEE ALSO : 
      AUTHORS  : DCF
      VERSION  : $Id$
      ----------------------------------------------------------------------------
     
        Overloaded functions or methods (ones with the same name in other directories)
           help cl_netcdf_writer/get_var_value.m

  4. #4
    Membre chevronné
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Points : 1 884
    Points
    1 884
    Par défaut
    Sous Matlab 2008b :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    >> which get_var_value
    'get_var_value' not found.
    >> 
    >> 
    >> help get_var_value
     
    get_var_value not found.
     
    Use the Help browser Search tab to search the documentation, or
    type "help help" for help command options, such as help for methods.
     
    >>
    Les règles Les cours La fonction rechercher

    N'oubliez pas de mettre en et de voter.

    La terre n'est pas un héritage de nos parents, mais un emprunt que nous faisons à nos enfants. La protection de notre environnement est la responsabilité de tous. Ne reculez plus devant l'urgence, agissez !

  5. #5
    Expert éminent sénior
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Points : 14 830
    Points
    14 830
    Par défaut
    Ce n'est pas un problème de versions c'est un problème de toolbox.
    Mais là manifestement il s'agit d'une toolbox externe donc si tu ne retrouves pas de quoi il s'agit ça va être difficile de t'aider.

    Le fait que ce soit une toolbox externe se vérifie si les ficheirs sont dans un répertoire différent de celui retourné par :
    En tout cas il y a manifestement un rapport avec les fichiers HDF (et là je n'y connais rien)
    Règles du Forum

    Adepte de la maïeutique

  6. #6
    Membre chevronné
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Points : 1 884
    Points
    1 884
    Par défaut
    Sinon, il ne reste plus que tu nous affiches le contenu de ce fichier M-File, tu peux faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    >> edit(which(get_var_value)) ;
    Les règles Les cours La fonction rechercher

    N'oubliez pas de mettre en et de voter.

    La terre n'est pas un héritage de nos parents, mais un emprunt que nous faisons à nos enfants. La protection de notre environnement est la responsabilité de tous. Ne reculez plus devant l'urgence, agissez !

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 31
    Points : 20
    Points
    20
    Par défaut
    voici le code,
    mais sinon ce n'est pas grave, je vais essayer de l'utiliser comme je peux.
    Merci encore à vous.
    Bonne journée.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    % Return variable value
    %
    % SYNTAX :
    %    v = get_var_value (this, s, varName, FillValue, ScaleFactor, AddOffset)
    %    v = get_var_value (this, s, varName, FillValue, ScaleFactor, AddOffset, MissingValue)
    % 
    % INPUT PARAMETERS :
    %   this         : instance of cl_hdf_writer
    %   s            : structure of data and format
    %   varName      : variable name
    %   FillValue    : {0,1}, fill value flag
    %   ScaleFactor  : {0,1}, scale factor value flag
    %   AddOffset    : {0,1}, add offset value flag
    %   MissingValue : {0,1}, missing value flag
    %
    % OUTPUT PARAMETERS :
    %   v           : variable value
    % 
    % EXAMPLES :
    %    [rep, tmp, tmp] = fileparts(which ('cl_hdf_writer/cl_hdf_writer'));
    %    f = 'exemple.hdf' ;
    %    fileName = fullfile (rep, 'ressources', f) ;
    %
    %    this = cl_hdf_writer ;
    %    this = set_file_name (this, fileName) ;
    %    s = read (this) ;
    %    get_var_value (this, s, 'wvc_lon', 1, 1, 1)
    %    
    %
    % REMARKS :
    %    . case sensitive
    %
    % SEE ALSO : 
    % AUTHORS  : DCF
    % VERSION  : $Id$
    % ----------------------------------------------------------------------------
     
    function v = get_var_value (this, s, varName, FillValue, ScaleFactor, AddOffset, varargin)
     
    % ----------------------------------------------------------------------------
    % HST
    %    01/11/2006 - DCF - creation
    %    26/09/2007 - DCF - test if fill value is empty added
    % ----------------------------------------------------------------------------
     
    % ----------------------------------------------------------------------------
    % ----------------------------------------------------------------------------
    % ----------------------------------------------------------------------------
    % Bloc try
     
    try
     
      % --------------------------------------------------------------------------
      % Returned values
      v = [] ;
     
      % --------------------------------------------------------------------------
      % Locales
      isOk = 1 ;
     
      % --------------------------------------------------------------------------
      % Test s
      if (isempty (s))
        isOk = 0 ;
        warn ('', 'get_var_value', 'empty structure') ;
      end
     
      % --------------------------------------------------------------------------
      % varargin
      if (length(varargin)>0)
        MissingValue = varargin{1} ;
      else
        MissingValue = 0 ;
      end
     
      % --------------------------------------------------------------------------
      % Loop on variable to get variable name
      if (isOk)
        iVar = lookfor_var (this, s, varName) ;
        if (iVar~=-1)
          %
          % variable value
          v = double(s.var(iVar).value) ;
          %
          % _FillVallue
          if (FillValue)
    	iFv  = lookfor_att (this, s, '_FillValue', varName)   ;
    	if (iFv~=-1)
    	  fv = s.var(iVar).att(iFv).value ;
    	  v (v==fv) = NaN ;
    	elseif isfield (s.var(iVar), 'fillvalue')
            if ~isempty (s.var(iVar).fillvalue)
     	       v (v==s.var(iVar).fillvalue) = NaN ;
            end
    	end      
          end
          %
          % missing_value
          if (MissingValue)
    	iMv  = lookfor_att (this, s, 'missing_value', varName)   ;
    	if (iMv~=-1)
    	  mv = s.var(iVar).att(iMv).value ;
    	  v (v==mv) = NaN ;
    	end
    	% valid range
    	if isfield (s.var(iVar), 'range')
    	  v (v<s.var(iVar).range(1) | v>s.var(iVar).range(2)) = NaN ;
    	end
          end
          %
          % scale_factor
          if (ScaleFactor)
    	iSf  = lookfor_att (this, s, 'scale_factor', varName) ;
    	if (iSf~=-1)
    	  v = v * s.var(iVar).att(iSf).value ;
    	elseif isfield (s.var(iVar), 'cal')
    	  v = v * s.var(iVar).cal{1} ;
    	end
          end
          %
          % add_offset
          if (AddOffset)
    	iAo  = lookfor_att (this, s, 'add_offset', varName)   ;
    	if (iAo~=-1)
    	  v = v + s.var(iVar).att(iAo).value ;
    	elseif isfield (s.var(iVar), 'cal')
    	  v = v + s.var(iVar).cal{3} ;
    	end
          end
     
        end  
        %
      end
     
    % ----------------------------------------------------------------------------
    % ----------------------------------------------------------------------------
    % ----------------------------------------------------------------------------
    % Bloc catch
     
    catch
      err ('cl_hdf_writer', 'get_var_value', lasterr) ;
    end

Discussions similaires

  1. Réponses: 8
    Dernier message: 12/02/2013, 01h08
  2. Fonction API
    Par margilb dans le forum C++Builder
    Réponses: 2
    Dernier message: 08/07/2002, 11h11
  3. Implémentation des fonctions mathématiques
    Par mat.M dans le forum Mathématiques
    Réponses: 9
    Dernier message: 17/06/2002, 16h19
  4. fonction printf
    Par ydeleage dans le forum C
    Réponses: 7
    Dernier message: 30/05/2002, 11h24
  5. FOnction api specifiant la position de la souris
    Par florent dans le forum C++Builder
    Réponses: 4
    Dernier message: 15/05/2002, 20h07

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