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 :

Condition if ; matrice vide


Sujet :

MATLAB

  1. #1
    Membre du Club
    Inscrit en
    Mars 2010
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 93
    Points : 41
    Points
    41
    Par défaut Condition if ; matrice vide
    Bonjour,

    mon programme permet de charger trois fichiers de points, chacun avec deux colonnes. Les trois fichiers sont comparés et si une ligne se retrouve dans les trois fichiers, cette ligne est écrite dans une matrice, N.
    Mais il peut arriver qu'il n'y ait aucune ligne commune. J'aimerais alors afficher un message d'erreur mais je n'y arrive pas...Voilà ce que j'écris :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if N==[] then
        set(handles.erreur,'String','Aucun point commun trouvé');
    end
    N est la matrice qui doit être remplie.*L'erreur affichée est :
    The expression to the left of the equals sign is not a valid target for an assignment.
    Je pense qu'il accepte pas parce qu'en réalité la matrice n'existe pas...? Faudrait-il que je la déclare vide avant les calculs ? Comment faire ?

    J'espère que vous allez pouvoir m'aider....merci d'avance

  2. #2
    Expert confirmé
    Avatar de duf42
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2007
    Messages
    3 111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 111
    Points : 4 661
    Points
    4 661
    Par défaut
    Bonjour,

    Plutôt qu'écrire: il vaut mieux faire: Bonne journée,
    Duf
    Simulink & Embedded Coder

    Au boulot : Windows 7 , MATLAB r2016b
    A la maison : ArchLinux mais pas MATLAB

  3. #3
    Membre du Club
    Inscrit en
    Mars 2010
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 93
    Points : 41
    Points
    41
    Par défaut
    J'ai écris
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if isempty(N) then
        Match_erreur
    end
    Avec Match_erreur une fenêtre d'erreur mais ça marche toujours pas.
    Message d'erreur :
    ??? Undefined function or variable "N".

    Error in ==> Match_attention>ok_Callback at 194
    if isempty(N) then
    Des idées...svp,merci !!

  4. #4
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    Bonjour,

    Tu peux faire ainsi :
    soit créer la variable N avant de faire tes calculs et regarder si elle est vide ou non (mais cela nécessite sûrement de modifier en partie ton code) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    N = [];
    ....
    if isempty(N)
        Match_erreur
    end
    Soit utiliser exist :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if ~exist('N')
        Match_erreur
    end
    Par contre sous matlab, il n'y pas le mot clé "then" dans une condition "if".
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  5. #5
    Membre du Club
    Inscrit en
    Mars 2010
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 93
    Points : 41
    Points
    41
    Par défaut
    Merci Magelan, le code suivant fonctionne !!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if ~exist('N')
        Match_erreur
    end
    Merci aussi duf42

    (pour le "then" j'avais essayé avec et sans, au cas où...^^)

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

Discussions similaires

  1. [Débutant] Remplir une matrice vide
    Par angel_tn dans le forum Images
    Réponses: 8
    Dernier message: 12/04/2010, 14h47
  2. [MySQL] Condition verifier champ vide
    Par Shivas dans le forum PHP & Base de données
    Réponses: 18
    Dernier message: 25/04/2009, 15h35
  3. [find] Retourne une matrice vide
    Par Flaherty Mc Coillean dans le forum MATLAB
    Réponses: 15
    Dernier message: 27/02/2009, 16h17
  4. Condition distinguer champ vide
    Par Shivas dans le forum Langage
    Réponses: 6
    Dernier message: 15/05/2008, 16h19
  5. [find] Matrice vide retournée
    Par ramrouma dans le forum MATLAB
    Réponses: 1
    Dernier message: 01/07/2007, 09h55

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