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 :

condition de choix


Sujet :

MATLAB

  1. #1
    Membre confirmé
    condition de choix
    Bonjour,

    J'ai un argument d'entrée qui peut être composé de 3 ou 2 lettres parmi A,B,C:

    ABC (dans l'ordre ou non: BCA, CAB etc..)
    ou
    AB (ou AC, CA, AB, BC etc..)

    J'aimerais choisir une lettre (par exemple A) et avoir ensuite les deux autres ou l'unique autre lettre dans une autre variable (par exemple: BC ou simplement B)

    pour tous les cas, cela revient à faire pas mal de condition

    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
    All = 'ABC';
    
    for ii=1:length(All)
    
     if length(All) == 3
        if All(1) == 'A'
            OtherLetter={'B','C'}
        elseif All(2) == 'B'
            OtherCompo={'A','C'}
        elseif All(3)== 'C'
            OtherCompo={'A','B'}
    
        elseif if length(All) == 2
         if All(1) == 'A'
            OtherLetter='B'
       ou 'C'
         elseif All(1) == 'B'
            OtherCompo='A'
       ou 'C'
         elseif All(1)== 'C'
            OtherCompo='A'
       ou 'B'
    
        end
    end


    je m'y perds un peu ..

    Merci d'avance pour toute aide.
    OS : taff > Window 7 32bit - Home > Windows 7 64bit
    Matlab : taff > v2013b - Home > r2009a

  2. #2
    Rédacteur/Modérateur

    Et si tu nous expliquais plutôt à quoi cela va te servir ?
    Mes compétences :
    • conception mécanique 3D (Autodesk Fusion 360)
    • développement informatique (MATLAB, Python, C, VBA)
    • impression 3D (Ultimaker)
    • programmation de microcontrôleur (Microchip PIC et 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)

  3. #3
    Membre confirmé
    Merci de ta réponse.

    oula c'est compliqué ...

    mais pour faire simple, j'ai besoin d'avoir toutes les autres lettres que celle appelée si elle existe.

    Une autre idée plus simple sera de retirer de la liste, la lettre appelée mais je sais pas trop quelle fonction utilisée.. je regarde du côté de contains() ..

    EDIT : plutot de ismember qui permet d'avoir la localisation de la lettre ! ça sens bon.
    OS : taff > Window 7 32bit - Home > Windows 7 64bit
    Matlab : taff > v2013b - Home > r2009a

###raw>template_hook.ano_emploi###