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

Scilab Discussion :

Des chiffres, des lettres et questions


Sujet :

Scilab

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 1
    Par défaut Des chiffres, des lettres et questions
    Ahem.. non seulement je débute (oui.. vraiment "débute" me parait encore faible) et c'est pas gagné.. mais en plus j'utilise un logiciel parfaitement anecdotique. Passons, la faute au BO d'abord.

    Donc voici mon problème :
    juste comme ça pour rigoler, j'ai voulu générer une chaîne de caractère aléatoire (caractères choisis entre a ,..., z, plus l'espace "_")

    Bon.

    Donc j'empoigne mon SciLab préféré et lui dis, de ma plus belle plume :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function M = auto(n)
     
    A =[ "a" , "b", "c", "d", "e", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "_"];
     
    M = zeros(1,n);
     
    for k = 1:n
    M(1,k)= A(1,floor(rand()*27));
    end
     
    endfunction
    Et voila qu'il me répond : (testé pour n = 5)

    !--error 18
    run: too many names
    at line 6 of function %c_i_s called by :
    line 59 of function %c_i_s called by :
    line 59 of function %c_i_s called by :
    line 59 of function %c_i_s called by : (etc)


    Hum, là, vraiment... je ne comprend pas ce qu'il entend par là.. où est le problème ?

    Merci d'avance (un peu d'indulgence voyons.. )

  2. #2
    Membre émérite Avatar de Mathusalem
    Profil pro
    IT moa
    Inscrit en
    Décembre 2003
    Messages
    1 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : IT moa

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 008
    Par défaut
    Essaye ça, en Matlab ça passe très bien et les deux langages sont très très proches :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    M = {A(floor(rand(1,n)*27))}

    edit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    A(floor(rand(1,10)*26)+1)
    ans =
     
    jsjsjaewoa
    Fonctionne mieux...

  3. #3
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2006
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 22
    Par défaut Un bout de code pour toi !
    J'ai un fragment de programme que j'avais pour les échantillonage


    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
     
     
    function e = ech_dist(m,n,x,d)
     d   = d/sum(d);
     loi =  cumsum(d);
     for  i= 1:m,
       for j= 1:n ,
         k = 1;
         r = rand(1,1);
         while r> loi(k) ,
           k= k+1,
            end;
            e(i,j) = x(k) ;
           end;
        end


    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
     
     
    Tu peux utiliser un exemple
     x = ech_dist(1,100,["a","b","c"],[1,1,1])
     x  =
     
     
             column  1 to 34
     
    !b  b  c  a  b  a  c  a  b  c  c  a  b  a  a  b  a  b  c  a  a  b  b  a  b  b  a  a  b  b  c  b  a  b  !
     
             column 35 to 68
     
    !a  b  c  c  a  b  c  b  b  b  b  b  c  c  c  c  b  a  c  a  b  b  a  b  c  b  a  a  c  a  c  a  a  b  !
     
             column  69 to 100
     
    !c  c  a  b  a  b  c  c  c  a  b  b  c  c  b  c  b  a  c  a  a  c  a  c  b  a  b  c  c  a  c  b  !

    C'est sous Scilab ! Tu peux modifier à ta guise pour adapter à ta situation

Discussions similaires

  1. Convertir des chiffres en lettres
    Par azde7015 dans le forum VBA Access
    Réponses: 16
    Dernier message: 19/05/2019, 15h16
  2. regex pour comparer des dates, des chiffres, des nombres
    Par lex13 dans le forum Collection et Stream
    Réponses: 14
    Dernier message: 06/07/2007, 11h51
  3. convertion des chiffre en lettre
    Par maroon1970 dans le forum Windows Forms
    Réponses: 12
    Dernier message: 23/05/2007, 17h03
  4. composant pour convzrtir des chiffres en lettres
    Par ouldfella dans le forum Composants VCL
    Réponses: 6
    Dernier message: 01/06/2006, 11h40
  5. composant qui convertis des chiffres en lettre sous Delphi?
    Par ouldfella dans le forum Composants VCL
    Réponses: 2
    Dernier message: 22/03/2006, 14h28

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