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 :

Coder un algorithme [Débutant]


Sujet :

MATLAB

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2011
    Messages : 115
    Points : 90
    Points
    90
    Par défaut Coder un algorithme
    Bonjour,

    J´ai des difficultés à coder mon algorithme sous Matlab, je m´explique,

    J´ai une matrice qui contient plusieurs courbes à ploter :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    M =[100 200 100 200 300 ; 300 400 100 200 300; 500 600 100 200 300; 700 800 100 200 300 ; 700 800 100 200 300 ; 700 800 100 200 300 ; 700 800 100 200 300 ;700 800 100 200 300  ; 700 800 100 200 300 ;700 800 100 200 300];
    M = reshape(M,[],10)
    Cette matrice contiendra toujours un nombre paire de colonnes, en effet M(:,1) contiendra les données de l axe x et M(:,2) les données de l´axe y pour 1 courbe donc courbe a. Ce qui veut donc dire que M(:,3) et M(:,4) seront les données de la courbe b etc...

    D´autre part j´ai une matrice qui contient des indices :

    Grâce a cette dernière je vais savoir exactement le nombre de courbe que je dois ploter par figure.

    Par exemple je sais que sur ma figure n°1 je ne vais ploter qu´une seule courbe ( M(:,1) sera son abscisse et M(:,2) son ordonné ).
    Puis je vais créer une autre figure donc figure n°2 et sur cette dernière je vais ploter 3 courbes.
    Et enfin je vais créer une derniere figure, figure n°3 sur laquelle je vais ploter une seule courbe ( xaxes = M(:,9) et yaxes = (M(:,10)))

    Auriez vous une idée ?? Merci

  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,

    je n'ai pas bien compris le rapport entre I et le tableau M... I contient des indices? Comment en déduis-tu 1 courbe ou 3 courbes?

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2011
    Messages : 115
    Points : 90
    Points
    90
    Par défaut
    Bonjour,

    Sur ma 1ere figure je ne plot qu´une courbe car I(1) vaut 2

    Puis je sais que la différence entre mon I(2) et I(1) est de 6 ->
    8-2, donc je dois ploter 3 courbes sur la 2eme figure

    Pour la dernière figure la différence entre I(end) et I(2) est de 2 donc je ne dois ploter qu ´une courbe

    J´esperé avoir été plus claire cette fois ci

  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
    Ok, donc une boucle for sur I devrait faire l'affaire. As-tu essayé de coder quelque chose? Peux-tu nous le montrer?

  5. #5
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2011
    Messages : 115
    Points : 90
    Points
    90
    Par défaut
    Oui voici je que j´ai codé pour le moment :

    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
    M =[100 200 100 200 300 ; 300 400 100 200 300; 500 600 100 200 300; 700 800 100 200 300 ]
    M = reshape(M,[],4)
    INDICE = [2;4]; 
     
    [l,c]=size(INDICE)
    for j=1:l
        %Ici je crée une figure 
        if j==1 % Je dois ici ploter les courbes de ma 1ère figure
            for i=1:INDICE(j)
                if mod(i,2) == 0
                    continue;
                end
                xaxes = M(:,i);
                yaxes = M(:,i+1);
     
                %Ici je plot
     
            end
     
            % Ici je legende et je supprime ma figure
        else
            i=1;
            for i=INDICE(i):INDICE(j)
                if mod(i,2) == 0
                    continue;
                end
                xaxes = M(:,i);
                yaxes = M(:,i+1);
     
                % De même je plot
     
            end
     
            % Je legend et je delete ma figure
     
        end
    end

  6. #6
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2011
    Messages : 115
    Points : 90
    Points
    90
    Par défaut
    Aah je crois avoir trouvé mon erreur :

    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
    M =[100 200 100 200 300 ; 300 400 100 200 300; 500 600 100 200 300; 700 800 100 200 300 ;500 600 100 200 300; 700 800 100 200 300; 500 600 100 200 300; 700 800 100 200 300 ;500 600 100 200 300; 700 800 100 200 300 ]
    M = reshape(M,[],10)
    INDICE = [2;8;10] % Contient le nb de courbe à ploter
    
    [l,c]=size(INDICE)
    for j=1:l
        %Ici je créer une figure 
        if j==1 % Je dois ici ploter les courbes de ma 1ère figure
            for i=1:INDICE(j)
                if mod(i,2) == 0
                    continue;
                end
                xaxes = M(:,i);
                yaxes = M(:,i+1);
                
                %Ici je plot
                
            end
            
            % Ici je legende et je supprime ma figure
        else
            i=j-1;
            for i=INDICE(i):INDICE(j)
                if mod(i,2) == 0
                    continue;
                end
                xaxes = M(:,i);
                yaxes = M(:,i+1);
                
                % De meme je plot
                
            end
            
            % Je legend et je delete ma figure
            
        end
    end

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

Discussions similaires

  1. Formalisation graphique des algorithmes
    Par David R. dans le forum Algorithmes et structures de données
    Réponses: 14
    Dernier message: 08/12/2012, 10h21
  2. Algorithme de randomisation ... ( Hasard ...? )
    Par Anonymous dans le forum Assembleur
    Réponses: 8
    Dernier message: 06/09/2002, 14h25
  3. recherches des cours ou des explications sur les algorithmes
    Par Marcus2211 dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 19/05/2002, 22h18
  4. Recherche de documentation complète en algorithmes
    Par Anonymous dans le forum Algorithmes et structures de données
    Réponses: 1
    Dernier message: 29/03/2002, 12h09
  5. Algorithme génétique
    Par Stephane.P_(dis Postef) dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 15/03/2002, 17h14

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