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 :

message d'erreur pour les cellules [Débutant]


Sujet :

MATLAB

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    2 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 2 051
    Points : 877
    Points
    877
    Par défaut message d'erreur pour les cellules
    Bonjour tous,

    J'ai une erreur que je ne comprends pas, j'espere vraiment que vous pourrez m'aider car là je ne vois vraiment pas le probleme.

    De plus mon programme tourne en boucle et il me semble que lors de la premiere boucle je n'ai pas eu de probleme....

    voici le bon de code concerné:

    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
    for n=1:length(etage);
        AM_x{n}=etage{n}(:,3);
        AM_y{n}=etage{n}(:,4);
        AO_x{n}=coord_centre{n}(1,1);
        AO_y{n}=coord_centre{n}(1,2);
        OM_x{n}=-AO_x{n}+AM_x{n}; %AO_x et AO_y n'ont qu'une composante cette
        %operation rajoute donc AO_x et AO_y
        OM_y{n}=-AO_y{n}+AM_y{n}; %a chaque composantes de AM_x et AM_y
        rayon_calcul{n}=etage{n}(1,6); %vect contenant rayon et calcul de
        %verif kon a bien 2,5
        for z=1:1:length(AM_x{n});
            a{n}(z)=(OM_x{n}(z))/(rayon_calcul{n});
            b{n}(z)=(OM_y{n}(z))/(rayon_calcul{n});
        end
        etage{n}(:,7)=a{n}.'; %} a et b sont deux vecteurs qui
        %            representent respectivement le cos et le sinus de chaques
        etage{n}(:,8)=b{n}.'; %} angle qu'il y a entre l'axe OM_x et
        %le rayon reliant les nodes.
    end
        A=a.';
        B=b.';
    voici l'erreur:

    ??? Cell contents assignment to a non-cell array object.

    Error in ==> myfun_exp_modif at 336
    a{n}(z)=(OM_x{n}(z))/(rayon_calcul{n});



    c'est la premiere fois que je vois ce type d'erreur c'est pour cela que je ne sais pas trop comment faire....

    merci d'avance pour votre aide

  2. #2
    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
    Dans ce genre de cas l'utilisation de breakpoint est très utile pour vérifier les valeurs des variables et faire des tests...

    La variable a existe-t-elle avant d'arriver à ce code? si oui que contient-elle?

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    2 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 2 051
    Points : 877
    Points
    877
    Par défaut
    Citation Envoyé par magelan Voir le message
    Dans ce genre de cas l'utilisation de breakpoint est très utile pour vérifier les valeurs des variables et faire des tests...

    La variable a existe-t-elle avant d'arriver à ce code? si oui que contient-elle?
    je viens d'essayer avec les breakpoint et ca beug de la meme facon dès la premiere iteration pour cette ligne:

    for z=1:1:length(AM_x{n});
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      a{n}(z)=(OM_x{n}(z))/(nodes_rayon_interne(n,6));
    j'ai changé le denominateur mais ca beug toujours, ce qui est bizarre c'est que j'ai un programme qui ressemble de tres pres a celui ci et sur cette ligne il ne bloque pas!

    avez vous une idée pourquoi ici ca bloque?

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    2 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 2 051
    Points : 877
    Points
    877
    Par défaut
    en ce qui concerne les variables il n'y a que qui n'existe pas avant cette ligne, le reste existe avant

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    2 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 2 051
    Points : 877
    Points
    877
    Par défaut
    je viens de trouver un lien qui pourrez repondre à mon probleme mais je n'ai pas bien compris....


    http://www.developpez.net/forums/d45...-array-object/

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    2 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 2 051
    Points : 877
    Points
    877
    Par défaut nouveau test
    voici le nouveau test que j'ai fait:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for z=1:1:length(AM_x{n});
            %a{n}(z)=(OM_x{n}(z))/(nodes_rayon_interne(n,6));
            b{n}(z)=(OM_y{n}(z))/(nodes_rayon_interne(n,6));
    end
    malgrès que b à exactement la meme strucutre que a ca fontionne pour cette variable mais pas pour a ?!?

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    2 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 2 051
    Points : 877
    Points
    877
    Par défaut
    je viens de trouver mon erreur, en fait c'est une grosse betise de ma part:

    j'avais deja utilise la variable a auparavant!

    desolé du derangement


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

Discussions similaires

  1. Réponses: 1
    Dernier message: 23/03/2009, 15h56
  2. [MySQL] Message d'erreur pour atteindre ma base
    Par leloup84 dans le forum Installation
    Réponses: 7
    Dernier message: 04/02/2006, 01h51
  3. [CR10] Pquoi absence du message d'erreur sur les Nulls ?
    Par speed034 dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 30/11/2004, 15h30
  4. [Message d'erreur] gérer les message d'erreurs
    Par heid dans le forum Langage
    Réponses: 2
    Dernier message: 12/10/2004, 14h57

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