Une fonction en langage Scilab

Bonjour,s'il vous plaît, j'ai une question concernant la question 3)a) de la partie B de cet exercice.
J'ai proposé un programme pour cette question et j'aimerais savoir si c'est correct.
MERCI infiniment.88418
88420
88422
88426

Réponses

  • Bonsoir,
    je pense qu'il y a plusieurs choses qui ne fonctionnent pas,
    j'ai testé votre script
    "n" est une entrée certes, mais il n'est pas nécessaire d'utiliser "input"
    il n'y a aucune trace d'aléatoire dans votre fonction,
    après avoir défini a comme vous le faites
    redéfinissez les éléments de "a" comme une matrice aléatoire uniforme "ligne" dont vous modifierait les coefficients si il sont plus grands que 0.5 ou pas.
    puisqu'il s'agit d'une fonction Scilab, a est directement affichée.
    J'ai un script Scilab qui fonctionne.. et fait ce qui est demandé...
    mais je vous laisse modifier selon mes indications et je vous laisse chercher ?
    ou bien je vous le donne ?
    bonne soirée.
  • @Shadows: il faut effectivement tout reprendre. Rien ne va.
  • Bonjour Callipiger, merci pour votre réponse.
    Ne vous inquiétez pas j'ai pu voir un corrigé de programme correct pour cette question :
    function a=D(n) 
    a=   2*grand(1,n,'bin'   ,1, 1/ 2) -1
    endfunction
    
    Mais oui je veux bien savoir celui que vous proposez, surtout qu'avec Scilab il n'existe souvent pas qu'une unique solution pour faire un même programme, c'est intéressant de voir les variantes :-)
  • Pas de soucis,
    je pense que mon programme a l'air moins performant, mais je vous montre quand même.
    function a=D(n)
    a=zeros(1,n);
    a=rand(1,n);
    for k=1:n
    
    if a(k)<0.5 
    then a(k) =-1 ;
    else a(k)=1;
    end
    
    end
    endfunction
    
    a priori le gain dans votre code c'est l'utilisation de "bin" que je ne connaissais pas je songeais à "boolean" ou quelque chose comme ça pour le rand
    en tester ma fonction je dois faire une réinitialisation de la variable globale "a", c'est une anomalie que je ne m'expliquais et ne m'explique toujours pas.
  • Bonne nuit.
  • Bonjour
    voilà une autre variante :
     function a=D(n)
     a=2*floor(2*rand(1,n))-1;
     endfunction
    
  • Bonjour,
    est-ce qu'il y a dans Scilab un moyen d'avoir une info sur la durée de temps de calcul d'un nombre aléatoire avec les diverses version de "rand" hormis taper un programme qui donnerait le temps moyen de calcul de disons 50000 appels aux diverses fonctions de rand ? (autant de version de rand que de programmes)
    Dans la documentation ça n'apparaît pas.
  • Par exemple
     timer();A=rand(100,100);timer()
     ans  =
     
        0.046875 
    
  • @Said Fubini
    je vais tester ça!
Connectez-vous ou Inscrivez-vous pour répondre.