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 :

operation sur array


Sujet :

MATLAB

  1. #1
    Membre à l'essai
    Inscrit en
    Décembre 2010
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 48
    Points : 21
    Points
    21
    Par défaut operation sur array
    salut;

    j'ai un vecteur a=[3 2 1];
    je veux le transformer par boucle for en
    new_a= [3 0 0 2 0 0 1 0 0];

    comment je peux le faire?

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    As-tu commencé à coder quelque chose?
    Montre-nous ce que tu as déjà codé, même si c'est faux.

  3. #3
    Membre à l'essai
    Inscrit en
    Décembre 2010
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 48
    Points : 21
    Points
    21
    Par défaut
    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
    clc;
    clear all;
    a=[3 2 1]
    w=[0 0 0];
     
    for i=1:length(a)
        pos(i)=2*i;
    end
    pos
    tf=false(1,numel(a)+numel(w));
         r=double(tf);
         tf(pos)=true;
         r(tf)=w;
         r(~tf)=a;
         r

  4. #4
    Invité
    Invité(e)
    Par défaut
    Pour vouloir passer par une boucle for, tu fais beaucoup en dehors...
    Pour commencer, on peut remarquer que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    numel(new_a) = 3*numel(a)
    Donc tu peux initialiser un vecteur de zéros comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    N = 3*numel(a);
    new_a = zeros(1,N);
    Il te suffit ensuite de placer les valeurs de a. Et pour cela l'opérateur colon : peut t'aider:

  5. #5
    Membre à l'essai
    Inscrit en
    Décembre 2010
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 48
    Points : 21
    Points
    21
    Par défaut
    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
    clc;
    clear all;
    a=[3 2 1]
    w=[0 0 0 0 0 0];
    pos=0;
    for i=1:3:3*length(a)
        i
       pos=[pos i]
    end
    pos=pos(1,2:length(pos));
    pos
    tf=false(1,numel(a)+numel(w))
         r=double(tf)
         tf(pos)=true
         r(tf)=a;
         r(~tf)=w;
         r
    Merci à vous.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Beaucoup de choses inutiles et simplifications à faire:

Discussions similaires

  1. [Tableaux] operation sur array, comparaison, addition
    Par frn8cky dans le forum Langage
    Réponses: 4
    Dernier message: 13/10/2007, 10h15
  2. [Debutant(e)]operation sur dates
    Par sUrTr dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 11/10/2004, 15h58
  3. Commande date. Faire des opération sur l'heure?
    Par fidififouille dans le forum Linux
    Réponses: 9
    Dernier message: 23/08/2004, 15h16
  4. [Débutant][String] Opérations sur une chaîne
    Par gandalf_le_blanc dans le forum Général Java
    Réponses: 8
    Dernier message: 08/06/2004, 11h59
  5. operation sur des alias
    Par 74160 dans le forum Requêtes
    Réponses: 4
    Dernier message: 24/11/2003, 18h19

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