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 :

créer plusieurs colonnes avec fonction a:step:c [Débutant]


Sujet :

MATLAB

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 8
    Points : 11
    Points
    11
    Par défaut créer plusieurs colonnes avec fonction a:step:c
    Bonjour à tous,

    J'ai une question dont la réponse est surement triviale, mais ce sont mes premières heures sous matlab... :

    J'ai 3 vecteurs : a=[1,1,1] , b=[1,2,3], c=[10,20,30]
    Quelle est la fonction pour obtenir la matrice :
    1 1 1
    2 3 4
    3 5 7
    4 7 10
    5 9 13
    6 11 16
    7 13 19
    8 15 22
    9 17 25
    10 19 28

    J'ai vu que la fonction (1:1:10)' créait la première colonne, mais je ne sais pas combiner cette fonction et a/b/c.

    Merci pour votre aide,

    atomap

  2. #2
    Membre actif
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2013
    Messages : 189
    Points : 242
    Points
    242
    Par défaut
    le vecteur a contient les valeurs initiales de chaque colonne
    le vecteur b contient les valeurs du pas d’incrémentation de chaque colonne
    le vecteur c contient les valeurs finales de chaque colonne.

    du coup, première colonne
    deuxieme

    troisieme

    matrice finale


  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 8
    Points : 11
    Points
    11
    Par défaut
    Merci pour cette réponse.
    Et je suppose qu'il y a un moyen simple pour faire une boucle for, dans le cas où j'ai un grand nombre de colonne (en réalité j'en ai 400 à créer, elles ont toutes le même nombre de pas).

    Si j'écris çà :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for i=1:3;
    M(i)=(a(i):b(i):c(i))'
    end
    j'ai le message d'erreur suivant :
    In an assignment A(I) = B, the number of elements in B and I must be the same.

    C'est pas très clair pour moi, je ne peux avoir qu'un seul élément dans I...

  4. #4
    Membre actif
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2013
    Messages : 189
    Points : 242
    Points
    242
    Par défaut
    essaye

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    M(:,i) = (a(i):b(i):c(i))'

  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 302
    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 302
    Points : 52 882
    Points
    52 882
    Par défaut
    La transposée est inutile ici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    a = [1,1,1];
    b = [1,2,3];
    c = [10,20,30];
     
    for i = 1:3
     
        M(:,i) = a(i):b(i):c(i);
     
    end
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  6. #6
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 8
    Points : 11
    Points
    11
    Par défaut
    Merci pour vos réponses.

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

Discussions similaires

  1. Afficher plusieurs colonnes avec fonction MAX
    Par koolshenntm dans le forum Langage SQL
    Réponses: 5
    Dernier message: 09/07/2014, 15h28
  2. Réponses: 4
    Dernier message: 11/04/2008, 15h02
  3. plusieurs colonnes avec opérateur IN
    Par inluvwitiou dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 16/03/2006, 13h29
  4. Requête à plusieurs colonnes avec la fonction COUNT
    Par zigune dans le forum Langage SQL
    Réponses: 2
    Dernier message: 18/11/2004, 10h43
  5. Query sur plusieurs colonnes avec count(distinct...)
    Par Jeankiki dans le forum Langage SQL
    Réponses: 2
    Dernier message: 18/08/2004, 15h22

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