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 :

fonction matricielle pour trouver toutes les combinaisons possibles des éléments de 2 vecteurs


Sujet :

MATLAB

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 27
    Points : 20
    Points
    20
    Par défaut fonction matricielle pour trouver toutes les combinaisons possibles des éléments de 2 vecteurs
    Bonjour,
    J'ai 2 vecteurs comportant des chaînes de caractères (a1 et a2 ont même longueur; b1 et b2 ont même longueur):
    A=['a1','a2'] et B=['b1','b2']
    Est-il possible d'utiliser une fonction matricielle pour trouver un vecteur C comportant toutes les combinaisons possibles concaténées: ['a1b1',a1b2','a2b1','a2b2']?
    Je veux en effet éviter d'utiliser des boucles imbriquées.
    Merci d'avance

  2. #2
    Membre émérite
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    2 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 040
    Points : 2 841
    Points
    2 841
    Par défaut fonction matricielle pour trouver toutes les combinaisons possibles des éléments de 2 vecteurs
    Bonjour,

    Une première idée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    A=['a1';'a2'];B=['b1';'b2'];
    C=allcomb(cellstr(A),cellstr(B));
    R=cell2mat(C)
    ou :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    A=['a1';'a2'];B=['b1';'b2'];
    T1=cellstr([A,B]);
    T2=cellstr([ A B(2:-1:1,:)]);
    % En cellules
    T=[T1;T2]'
    % En caratères
    TT=strvcat(T)
    ou en conservant les virgules dans A et B :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    A=['a1','a2'];B=['b1','b2'];
    A1=reshape(double(A),2,2)';B1=reshape(double(B),2,2)';
    C=combn([1,2],2)
    R=char([A1(C(:,1),:),B1(C(:,2),:)])

Discussions similaires

  1. Réponses: 1
    Dernier message: 09/01/2014, 21h27
  2. Trouver toutes les combinaisons possibles
    Par Onimaru dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 27/11/2013, 15h35
  3. [XL-2010] Trouver toutes les combinaisons possibles de plusieurs mots
    Par Faneos dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 15/12/2012, 19h17
  4. Comment trouver toutes les combinaisons possibles ?
    Par [ZiP] dans le forum Débuter
    Réponses: 9
    Dernier message: 26/04/2011, 13h54
  5. Trouver toutes les combinaisons possibles de plusieurs tableaux
    Par divayht dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 23/08/2010, 20h56

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