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 aléatoirement une chaine de 5 caracteres alphabétiques


Sujet :

MATLAB

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 42
    Points : 20
    Points
    20
    Par défaut créer aléatoirement une chaine de 5 caracteres alphabétiques
    Bonjourrrrrrrrrrrrrrrrrrrrrrrrrrrrr

    Je souhaite créer aléatoirement une chaine de 5 lettres. Pour les chiffers on utilise rand mais pour les lettres?

    Merci a vous

  2. #2
    Expert éminent sénior
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Points : 14 830
    Points
    14 830
    Par défaut
    Citation Envoyé par zizzo Voir le message
    Pour les chiffers on utilise rand mais pour les lettres?
    Pareil

    Tu crées ta chaine avec tous les caractères et tu fais le rand sur les indices de 1 à 26.
    Règles du Forum

    Adepte de la maïeutique

  3. #3
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2012
    Messages : 95
    Points : 150
    Points
    150
    Par défaut
    Il y a sans doute plus propre mais ceci fonctionne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SET = char(['a':'z']) ;
    N = ceil(26.*rand(5,1));
    R=SET(N(1:5))
    (Je suis volontiers preneur des améliorations possibles)
    Ma version Matlab:Matlab R2011b

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 42
    Points : 20
    Points
    20
    Par défaut
    Moi j'ai fais ça mais cela ne fonctionne pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    LET='abcdefghijklmnopqrstuvwxyz';
    S=size(LET);
    for i=1:S
    G= rand (S(i),1,4);% donne aléatoirement 4 chiffres 
    end
    disp(G)

  5. #5
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2012
    Messages : 95
    Points : 150
    Points
    150
    Par défaut
    Pour voir tes erreurs, enlève les ";" et regarde ce que tu obtiens.
    Par exemple, je pense que tu veux S=26, donc ce n'est pas

    mais

    Je te laisse débloquer la suite
    Ma version Matlab:Matlab R2011b

  6. #6
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 42
    Points : 20
    Points
    20
    Par défaut
    Apres modification
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     clear all;
    close all;
    LET='abcdefghijklmnopqrstuvwxyz'
    S=length(LET)
    for i=1:S
    G= randi (S(i),1,4)% donne aléatoirement 4 chiffres 
    end
    disp(G)
    j'obtiens des chiffres et non des lettres!

  7. #7
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2012
    Messages : 95
    Points : 150
    Points
    150
    Par défaut
    Bah oui, c'est logique, à aucun moment tu n'utilises LET à part pour connaitre sa taille
    Quand tu obtiens 4 chiffres (tu en voulais pas 5?) "aléatoires" avec la fonction rand, il faut ensuite affecter la lettre qui correspond, voir l'exemple de code que je t'ai fourni plus haut
    Ma version Matlab:Matlab R2011b

  8. #8
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 42
    Points : 20
    Points
    20
    Par défaut
    ahhhhhhh ouiiiiiii!!!
    Merci

Discussions similaires

  1. Réponses: 4
    Dernier message: 26/01/2010, 13h42
  2. Comment Incrémenter une chaine dans l'ordre alphabétique ?
    Par Bobsinglar dans le forum Général Java
    Réponses: 4
    Dernier message: 14/11/2008, 15h06
  3. Réponses: 4
    Dernier message: 29/05/2006, 15h27
  4. Réponses: 9
    Dernier message: 15/01/2006, 20h22
  5. [Java/String] Completer une chaine avec un caractere
    Par shaun_the_sheep dans le forum Langage
    Réponses: 4
    Dernier message: 31/05/2005, 09h01

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