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 :

tracé de résultat


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 19
    Par défaut tracé de résultat
    Bonjour, je dois tracer une courbe avec les valeurs d'une variable placée dans une boucle, mais quand je plot, il ne me retourne que la dernière valeur calculée.
    Comment faire pour garder en mémoire toutes valeurs précédentes ?

    Voici le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
            xm_nvo=(sum (x_v*w))/sum(w);
            xp=xm_nvo;
            plot(xm, 'r')

  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 : 41
    Localisation : France

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

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

    Le code que tu nous montre ne nous aide pas beaucoup puisque tu traces la variable 'xm' et on ne voit pas comment elle est calculée...

    Duf

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 19
    Par défaut
    Oups pardon !
    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
     
    VT=0.5
    N=100
    x_v est un vecteur 1*3
    w est un vecteur 3*1
     
    for i=1:N;
        if d(i)<VT;
            xm=(sum (x_v*w))/sum(w);
            xp=xm;
        else
            fprintf ('output (%d) failed\n',i);
            w(i,:)=[];
            x_v(:,i)=[];
            N=N-1;
            xm_nvo=(sum (x_v*w))/sum(w);
            xp=xm_nvo;
        end
    end
     
    plot (xp, 'r')
    Voilà je crois que j'ai tout dit !

  4. #4
    Membre averti
    Inscrit en
    Décembre 2010
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 18
    Par défaut
    Place à l'aide d'une boucle, toutes tes valeurs dans un vecteur, tu pourras ensuite tracer correctement ta courbe

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 19
    Par défaut
    C'est pour faire ça que j'ai tout mis dans xp, sauf que les valeurs sont écrasées à chaque itération.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    202
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 202
    Par défaut
    Salut,

    C'est pour faire ça que j'ai tout mis dans xp, sauf que les valeurs sont écrasées à chaque itération.

    Oui effectivement tu ecrases xp à chaque fois, puisque tu redéfinis xp à chaque itération.
    Pour incrémenter xp au fur et à mesure de ta boucle, il faut que tu précise que le nouveau xp se mets à la ligne correspondant à ton i:


    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
    VT=0.5
    N=100
    x_v est un vecteur 1*3
    w est un vecteur 3*1
     
    cp=0;
    for i=1:N;
    cp=cp+1;
        if d(i)<VT;
            xm=(sum (x_v*w))/sum(w);
            xp(cp,:)=xm;
        else
            fprintf ('output (%d) failed\n',i);
            w(i,:)=[];
            x_v(:,i)=[];
            N=N-1;
            xm_nvo=(sum (x_v*w))/sum(w);
            xp(cp,:)=xm_nvo;
        end
    end
     
    plot (xp, 'r')

Discussions similaires

  1. Le résultat de Print ne s'affiche pas...
    Par Red Bull dans le forum Langage
    Réponses: 9
    Dernier message: 15/06/2006, 19h56
  2. [requête]donner résultat que si + de n lignes...
    Par Titia765 dans le forum Langage SQL
    Réponses: 12
    Dernier message: 10/06/2003, 13h02
  3. Réponses: 3
    Dernier message: 18/05/2003, 01h16
  4. Réponses: 4
    Dernier message: 28/09/2002, 01h00
  5. [BDD] Enregistrer le résultat d'une requête
    Par Mowgly dans le forum C++Builder
    Réponses: 5
    Dernier message: 19/06/2002, 16h26

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