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 :

[plot] affichage de partie non nul d'une courbe [Débutant]


Sujet :

MATLAB

  1. #1
    Membre à l'essai
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Février 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2012
    Messages : 14
    Points : 12
    Points
    12
    Par défaut [plot] affichage de partie non nul d'une courbe
    salut,
    je veux afficher que la partie non nul d'une fonction de façon que quand j'utilise plot elle m'affiche une courbe que ne s'annule pas.
    merci d'avance pour m'aider.

  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
    Bonjour,

    ça ne semble pas très compliqué : tu sélectionnes et tu n'affiches que les parties non nulles... as-tu commencé à coder quelque chose? ou bloques-tu?
    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.

  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
    essai de montrer un bout de code.

    mais l'idée est un truc dans ce genre (version simple)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    figure (1)
    hold on
    for i=1:nbPoint
        if(pointY(i)~=0)
        plot(pointX(i),pointY(i))
        end
    end
    bon courage

  4. #4
    Membre à l'essai
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Février 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2012
    Messages : 14
    Points : 12
    Points
    12
    Par défaut
    bonsoir , et merci pour votre attention
    j'ai une fonction que je souhaite résoudre avec l'algorithme de taboue, j'ai déclaré cette fonction 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
    function F=soleval(SB,SGM,eNodeB,c,h)
    F=[0];
    tabUnik = unique(SB);
    tabaffes=bsxfun(@eq,tabUnik(:),SB);
    tabaffee=bsxfun(@eq,SB(:),SB);
    x=bsxfun(@eq,tabaffes,1);
    z=bsxfun(@eq,1,tabaffee);
    for k=1:SGM;
        for e1=1:eNodeB;
            for e2=1:eNodeB;
                e1~=e2;
                y(e1,e2)=z(e1,e2);
                f=(c(k,e1))*x(k,e1)+(h(e1,e2))*(1-y(e1,e2));
                F=[F;f];
            end
        end
    end
    à la programme principale et après passé par les différentes instructions de l'algorithme de taboue je fais afficher la variation de cette fonction en utilisant la fonction plot :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    F=soleval(SB,SGM,eNodeB);
    plot(F);
    mon problème est que je veux juste afficher la partie non nulle de la fonction.
    Merci pour m'aider.

  5. #5
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2012
    Messages : 95
    Points : 150
    Points
    150
    Par défaut
    Bonjour,

    je suis étonné par cette partie:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    for e1=1:eNodeB;
            for e2=1:eNodeB;
                e1~=e2;
                y(e1,e2)=z(e1,e2);
                f=(c(k,e1))*x(k,e1)+(h(e1,e2))*(1-y(e1,e2));
                F=[F;f];
            end
    end
    Ta troisième ligne ne devrait elle pas être une boucle if?

    Pour ton affichage, as tu suivi la proposition de 21did21? Je pense aussi que tu devrais faire comme cela si on a bien compris ta demande
    Ma version Matlab:Matlab R2011b

  6. #6
    Membre à l'essai
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Février 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2012
    Messages : 14
    Points : 12
    Points
    12
    Par défaut
    bonjour, pour la troisième ligne j'ai une contrainte que e1 soit différente de e2 .
    Et pour la proposition de 21did21 je ne sais pas où le mettre dans mon code, de plus si je veux afficher qu'une intervalle bien déterminé de la courbe qu'est ce que je doit faire ?

  7. #7
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2012
    Messages : 95
    Points : 150
    Points
    150
    Par défaut
    Alors ton code ne marche pas avec cette troisième ligne je crois!(je suis pas expert encore)

    Pour moi, cela devrait être:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    for e1=1:eNodeB;
            for e2=1:eNodeB && e1~=e2;
                y(e1,e2)=z(e1,e2);
                f=(c(k,e1))*x(k,e1)+(h(e1,e2))*(1-y(e1,e2));
                F=[F;f];
            end
    end
    Pour la proposition de 21did21, tu dois remplacer ta ligne plot par celle-ci.
    Pour l'intervalle, tu peux te débrouiller avec xlim genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set(gca,'Xlim',[ton_Xmin ton_Xmax])
    Ma version Matlab:Matlab R2011b

  8. #8
    Invité
    Invité(e)
    Par défaut
    Non ceci est incorrect.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    for e1=1:eNodeB;
        for e2=1:eNodeB 
            if e1~=e2
                y(e1,e2)=z(e1,e2);
                f=(c(k,e1))*x(k,e1)+(h(e1,e2))*(1-y(e1,e2));
                F=[F;f];
            end
        end
    end
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    for e1=1:eNodeB;
        for e2=[1:e1-1 e1+1:eNodeB]
            y(e1,e2)=z(e1,e2);
            f=(c(k,e1))*x(k,e1)+(h(e1,e2))*(1-y(e1,e2));
            F=[F;f];
        end
    end

  9. #9
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2012
    Messages : 95
    Points : 150
    Points
    150
    Par défaut
    Citation Envoyé par Winjerome Voir le message
    Non ceci est incorrect.
    Mince, j'avais donc bon ce matin , je n'aurais pas du revoir ma copie
    Ma version Matlab:Matlab R2011b

  10. #10
    Membre à l'essai
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Février 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2012
    Messages : 14
    Points : 12
    Points
    12
    Par défaut
    merci bien , c'est résolut

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

Discussions similaires

  1. [XL-2007] donner la dernière valeur (non-nul) d'une colonne
    Par Micdewe dans le forum Excel
    Réponses: 3
    Dernier message: 27/01/2011, 17h05
  2. Réponses: 1
    Dernier message: 03/01/2009, 20h30
  3. Réponses: 3
    Dernier message: 05/12/2008, 04h39
  4. selection de valeur non nuls dans une plage
    Par bmeda72 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 04/08/2008, 17h05
  5. [Débutant] Recherche de minimum non nul dans une matrice
    Par sebastien69 dans le forum MATLAB
    Réponses: 2
    Dernier message: 05/06/2007, 17h00

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