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 :

Concaténation dans un vecteur


Sujet :

MATLAB

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 93
    Points : 55
    Points
    55
    Par défaut Concaténation dans un vecteur
    Bonjour !!!
    je voudrais savoir comment concatener des valeurs dans un vecteur et comment je peux déclarer celui-ci.
    merci

  2. #2
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 304
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 304
    Points : 52 882
    Points
    52 882
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    a=1;
    b=[2 3 4];
    c=5;
    d=[6 7];
     
    vect=[a b c d]

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 93
    Points : 55
    Points
    55
    Par défaut
    merci
    mais en fait je concatene des valeurs au fur et à mesure que je les calcule :/

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    elt_recu = x;
    vect=[vect elt_recu];
    ca marche bien ça?

  4. #4
    Expert confirmé
    Avatar de tug83
    Homme Profil pro
    MATLAB Geek !
    Inscrit en
    Juin 2006
    Messages
    1 781
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : MATLAB Geek !
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 781
    Points : 4 039
    Points
    4 039
    Par défaut
    tapes le mot concatenate dans le Help de MATLAB et tu trouveras pleins de fonctions:
    cat, vertcat, horzcat, ...

  5. #5
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 304
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 304
    Points : 52 882
    Points
    52 882
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    M=[];
    for n=1:7
    M=[M n];
    end
    M
    A noter que cela devient très gourmand en ressources si n est grand.
    On préferera (si possible) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    M=zeros(1,7);
    for n=1:7
    M(n)=n;
    end
    M

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 93
    Points : 55
    Points
    55
    Par défaut
    j'ai pas MATLAB pour le moment je me debrouille avec des tutos/FAQ/cours pour l'instant :-( dc la méthode que j'ai donné marcherai...

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 93
    Points : 55
    Points
    55
    Par défaut
    arf je vois pas trop comment insérer vos exemples dans mon code :'(
    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
     
    function[vect] = zigzag(matrice)
    %recuperation des dimensions de la matrice (hauteur, largeur)
    ligne=size(matrice,1);
    colonne=size(matrice,2);
     
    elt_matrice =0;
    i=0;
    j=0;
    vect=[];
    croiss=0;
     
    while  i <= ligne &  j <= colonne
      %on recupere l'element positionne en matrice(ligne,colonne)
      elt_matrice = matrice(ligne,colonne);
      %on l'ajoute dans le vecteur
      vect=[vect elt_matrice];
     
        if  i == 0 |  i ==  ligne
            if j == colonne
                j = j -1;
                i = i + 1;
            end
            j = j + 1;
            %on recupere l'element positionne en matrice(ligne,colonne)
            elt_matrice = matrice(ligne,colonne);
            %on l'ajoute dans le vecteur
            vect=[vect elt_matrice];
        else
            if j == 0 | j == colonne
                if i == ligne
                    i = i + 1;
                    j = j + 1;
                end
                i = i + 1;
               %on recupere l'element positionne en matrice(ligne,colonne)
               elt_matrice = matrice(ligne,colonne);
               %on l'ajoute dans le vecteur
               vect=[vect elt_matrice];
            end
        end
     
        if i == 0 | j == colonne
            croiss = 0;
        end
     
        if j == 0 | i == ligne
            croiss = 1;
        end   
     
        if croiss == 1 
            i = i - 1;
            j = j + 1;
        else 
            i = i + 1;
            j = j + 1;
        end
    end

  8. #8
    Membre éprouvé
    Avatar de rostomus
    Homme Profil pro
    Doctorant électronique et traitement du signal
    Inscrit en
    Décembre 2006
    Messages
    791
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Doctorant électronique et traitement du signal

    Informations forums :
    Inscription : Décembre 2006
    Messages : 791
    Points : 1 205
    Points
    1 205
    Par défaut
    Que voulez vous faire exactement ??
    par exemple on a la matrice :
    vect= ??

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 93
    Points : 55
    Points
    55
    Par défaut
    je veux faire un scan en zig-zag sur une matrice et concatener le resultat de la lecture dans un vecteur.

    donc vect = 1 2 4 5 3 6

  10. #10
    Membre éprouvé
    Avatar de rostomus
    Homme Profil pro
    Doctorant électronique et traitement du signal
    Inscrit en
    Décembre 2006
    Messages
    791
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Doctorant électronique et traitement du signal

    Informations forums :
    Inscription : Décembre 2006
    Messages : 791
    Points : 1 205
    Points
    1 205
    Par défaut
    voila:
    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
     
    function vect=zigzag(m)
     
    [ligne,colonne]=size(m);
    vect=[];flag=0;
    i=1;j=1;
    while i < ligne | j < colonne
        i=i+flag;
        j=j-flag;
        vect=[vect m(i,j)];
     
        if i==1 | j==colonne 
            if j==colonne
                i=i+1;
            else
                j=j+1;
            end
            flag=1;
            vect=[vect m(i,j)];
        else
            if j==1 | i==ligne
                if i==ligne
                    j=j+1;
                else
                    i=i+1;
                end
                flag=-1;
                vect=[vect m(i,j)]; 
            end
        end
     
    end

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 93
    Points : 55
    Points
    55
    Par défaut
    merci beaucoup :'-)

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

Discussions similaires

  1. [Visual Web] [SJSC] Concaténation dans requête SQL
    Par Original Prankster dans le forum NetBeans
    Réponses: 22
    Dernier message: 15/08/2005, 14h50
  2. Procédure stockée, concaténation dans requête
    Par sbeu dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 01/08/2005, 12h03
  3. destruction d'objets dans un vecteur
    Par titouille dans le forum C++
    Réponses: 12
    Dernier message: 28/07/2005, 19h20
  4. Réponses: 4
    Dernier message: 19/05/2005, 14h18
  5. Mettre un objet utilisant COM dans un vecteur
    Par 0xYg3n3 dans le forum MFC
    Réponses: 7
    Dernier message: 18/04/2005, 15h50

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