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 :

[POO] Tester si la cellule est vide dans un tableau de cellules [Débutant]


Sujet :

MATLAB

  1. #1
    Membre du Club
    Femme Profil pro
    Inscrit en
    Février 2011
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 221
    Points : 62
    Points
    62
    Par défaut [POO] Tester si la cellule est vide dans un tableau de cellules
    Bonjour,
    J'ai une classe objet "vehicule.m" définie comme suit:
    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
     
    % class definition
    % ------------------------------------------------------------------------------------------------------------------------
    % vehicule: implementation et interface de la classe vehicule
    % ------------------------------------------------------------------------------------------------------------------------
    classdef vehicule
        % définition des propriétés
        % ---------------------------------------------------------------------------------------------------------------------
        properties (SetAccess = public, GetAccess = public)
            posi = [];  % position du vehicule sur le troncon
            vitesse = []; % vitesse instantannée du véhicule
            acceleration = []; % accélération du véhicule
            deceleration = []; % décélération du vehicule
            Hentree = 0; % heure d'entrée du véhicule
            leader = {}; % le leader du véhicule en question
            suiveur = {};% le suiveur du véhicule en question
            voieActuelle = {}; % voie actuelle sur laquelle le vehicule circule actuellement
            orig_actuel = {}; % origine sur laquelle le vehicule circule actuellement
            tronc_actuel = {}; % troncon sur lequel le vehicule circule actuellement
            dest_actuel = {}; % destination sur laquelle le vehicule circule actuellement
            trajet = [];  % position du vehicule sur le troncon
        end
     
        % les méthodes publiques de la classe
        % ---------------------------------------------------------------------------------------------------------------------
        methods
            % Constructeurs
            % -------------------------------------------------------------------------------------------------------------------------------------------------
            function vehicule = node(posi, vitesse, acceleration, deceleration, Hentree, leader, suiveur, voieActuelle, orig_actuel, tronc_actuel, dest_actuel, trajet)
                vehicule.posi = posi;
                vehicule.vitesse = vitesse;
                vehicule.acceleration = acceleration;
                vehicule.deceleration = deceleration;
                vehicule.Hentree = Hentree;
                vehicule.leader = leader;
                vehicule.suiveur = suiveur;
                vehicule.voieActuelle = voieActuelle;
                vehicule.orig_actuel = orig_actuel.Origine;
                vehicule.tronc_actuel = tronc_actuel.Troncon;
                vehicule.dest_actuel = dest_actuel.Destination;
                vehicule.trajet = trajet;
            end
     
            % les méthodes "get" d'accès aux propriétés
            % ---------------------------------------------------------------------------------------------------------------------
            function posi = GetPosition(vehicule)
                posi = vehicule.posi;
            end
     
            function vitesse = GetVitesse(vehicule)
                vitesse = vehicule.vitesse;
            end
     
            function acceleration = GetAcceleration(vehicule)
                acceleration = vehicule.acceleration;
            end
     
            function deceleration = GetDeceleration(vehicule)
                deceleration = vehicule.deceleration;
            end
     
            function Hentree = GetHeureEnt(vehicule)
                Hentree = vehicule.Hentree;
            end
     
            function leader = GetLeader(vehicule)
                leader = vehicule.leader;
            end
     
            function suiveur = GetSuiveur(vehicule)
                suiveur = vehicule.suiveur;
            end
     
            function voieActuelle = GetVoieActuelle(vehicule)
                voieActuelle = vehicule.voieActuelle;
            end
     
            function orig_actuel = GetOrigineActuelle(vehicule)
                orig_actuel = vehicule.orig_actuel;
            end
     
            function tronc_actuel = GetTronconActuel(vehicule)
                tronc_actuel = vehicule.tronc_actuel;
            end
     
            function dest_actuel = GetDestinationActuelle(vehicule)
                dest_actuel = vehicule.dest_actuel;
            end
     
     
            % les méthodes "set" d'accès aux propriétés
            % ---------------------------------------------------------------------------------------------------------------------
     
            function vehicule = SetPosition(vehicule, x)
                vehicule.posi = x;
            end
     
            function vehicule = SetVitesse(vehicule, v)
                vehicule.vitesse = v;
            end
     
            function vehicule = SetAcceleration(vehicule, acc)
                vehicule.acceleration = acc;
            end
     
            function vehicule = SetDeceleration(vehicule, dec)
                vehicule.deceleration = dec;
            end
     
            function vehicule = SetHeureEnt(vehicule, t)
                vehicule.Hentree = t;
            end
     
            function vehicule = SetLeader(vehicule, Lead)
                vehicule.leader = Lead;
            end
     
            function vehicule = SetSuiveur(vehicule, Suiv)
                vehicule.suiveur = Suiv;
            end
     
            function vehicule = SetVoieActuelle(vehicule, VoieAct)
                vehicule.voieActuelle = VoieAct;
            end
     
            function vehicule = SetOrigineActuelle(vehicule, OA)
                vehicule.orig_actuel = OA;
            end
     
            function vehicule = SetTronconActuel(vehicule, TA)
                vehicule.tronc_actuel = TA;
            end
     
            function vehicule = SetDestinationActuelle(vehicule, DA)
                vehicule.dest_actuel = DA;
            end
     
        end  % end of public methods
     
    end  % end of class definition
    Après, au niveau du traitement pour faire mes testes je définis un véhicule "veh" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    veh = Vehicule ();
    Donc, mon but sera de tester et vérifier si mon véhicule "veh" n'a pas de leader. Je dois faire appel à la méthode "GetLeader" de ma classe "vehicule.m" pour vérifier si la cellule demandée de mon tableau est vide (càd mon véhicule "veh" n'a pas de leader).
    Je ne sais pas comment faire ?
    J'ai essayé plusieurs méthodes pour faire mon teste :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if Veh.GetLeader()==0
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if cellfun('isempty',Veh.GetLeader())
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if Veh.GetLeader()= {} % {}: une cellule vide qui ne contient rien= pas de leader pour veh
    Mais j'ai toujours la même erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    ??? Undefined function or method 'eq' for input arguments of type 'cell'.
     
    Error in ==> main>LancerSimulation/AvancerVehicule at 188
                            if Veh.GetLeader()== {} && t > 0
     
    Error in ==> main>LancerSimulation at 49
                AvancerVehicule(t, decalage);
     
    Error in ==> main at 41
    LancerSimulation(Horizon,decalage);
    Merci infiniment d'avance

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Inutile de chercher 12h à 14h, utilise directement isempty
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if isempty(veh)
        % vide
    end

  3. #3
    Membre du Club
    Femme Profil pro
    Inscrit en
    Février 2011
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 221
    Points : 62
    Points
    62
    Par défaut

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

Discussions similaires

  1. Tester si un élément est vide dans fichier XML
    Par Jb_One73 dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 01/03/2015, 13h09
  2. Réponses: 2
    Dernier message: 16/02/2015, 16h57
  3. [AC-2003] Tester si une cellule est vide dans un classeur excel et faire une boucle
    Par moilou2 dans le forum VBA Access
    Réponses: 11
    Dernier message: 19/08/2009, 09h34
  4. Réponses: 3
    Dernier message: 27/01/2009, 10h03
  5. [VBA-E]Tester si une cellule est vide dans un cas particulier
    Par tonnick dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 26/09/2007, 10h12

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