Scilab et loi de Bernoulli

Réponses à toutes vos questions après le Bac (Fac, Prépa, etc.)
girdav
Membre Complexe
Messages: 2425
Enregistré le: 21 Nov 2008, 22:22

Scilab et loi de Bernoulli

par girdav » 01 Juin 2009, 14:47

Bonjour.
Je cherche à généner à l'aide de la fonction grand une matrice à lignes et colonne où les composantes sont des réalisations indépendentes et identiquement distribuées de la loi de Bernoulli.
Je sais que "grand(m,n,'bin',p)" réalise cela avec la loi binomiale et comme je n'ai pas trouvé dans l'aide de commande similaire avec la loi de Bernoulli je me suis dit que je pouvais essayer un truc du genre:
"l = x_dialog('Nombre de lignes','10');
c = x_dialog('Nombre de colonnes','5000');
p = x_dialog('Paramètre','0,5');
Y = grand(l,c,'bin',1,p);".
Le problème est que l'on m'affiche:"!--error 999
Rand Wrong value for first input argument 10.
at line 5 of function sommedebernoulli called by :
sommedebernoulli "
Pouvez-vous me dire ce qui ne va pas? Merci.



MathMoiCa
Membre Rationnel
Messages: 518
Enregistré le: 20 Jan 2008, 13:57

par MathMoiCa » 01 Juin 2009, 15:45

Salut,

Euh une Bernoulli est une binomiale de paramètres (1,p), tu peux pas utiliser ça ?


M.

girdav
Membre Complexe
Messages: 2425
Enregistré le: 21 Nov 2008, 22:22

par girdav » 01 Juin 2009, 15:51

C'est ce que j'essaie dans le code.
Apparement c'est avec le l qu'il y a un problème.

Dominique Lefebvre
Membre Légendaire
Messages: 8007
Enregistré le: 03 Déc 2005, 13:00

par Dominique Lefebvre » 01 Juin 2009, 16:03

girdav a écrit:"l = x_dialog('Nombre de lignes','10');
c = x_dialog('Nombre de colonnes','5000');
p = x_dialog('Paramètre','0,5');
Y = grand(l,c,'bin',1,p);".
Le problème est que l'on m'affiche:"!--error 999
Rand Wrong value for first input argument 10.
at line 5 of function sommedebernoulli called by :
sommedebernoulli "

Bonjour,
As-tu essayé en écrivant Y = grand(10,5000,'bin',1,0.5)

girdav
Membre Complexe
Messages: 2425
Enregistré le: 21 Nov 2008, 22:22

par girdav » 01 Juin 2009, 16:10

Ca marche avec Y = grand(10,5000,'bin',1,0.5) mais le problème est que l'énoncé demande de déterminer au préalable le nombre de lignes et de colonne de la matrice ainsi que le paramètre.

Dominique Lefebvre
Membre Légendaire
Messages: 8007
Enregistré le: 03 Déc 2005, 13:00

par Dominique Lefebvre » 01 Juin 2009, 16:30

girdav a écrit:Ca marche avec Y = grand(10,5000,'bin',1,0.5) mais le problème est que l'énoncé demande de déterminer au préalable le nombre de lignes et de colonne de la matrice ainsi que le paramètre.

Sans doute ton usage de x_dialog n'est-il pas conforme....

EN particulier, pense que x_dialog retourne des chaines de caractères, et donc que tu dois les évaluer (avec evstr) avant de les utiliser...

girdav
Membre Complexe
Messages: 2425
Enregistré le: 21 Nov 2008, 22:22

par girdav » 01 Juin 2009, 16:32

Lors de l'exécution on me demande la valeur de l, de c et de p. La commande x_dialog semble marcher. Je ne comprends pas.

Dominique Lefebvre
Membre Légendaire
Messages: 8007
Enregistré le: 03 Déc 2005, 13:00

par Dominique Lefebvre » 01 Juin 2009, 16:35

girdav a écrit:Lors de l'exécution on me demande la valeur de l, de c et de p. La commande x_dialog semble marcher. Je ne comprends pas.

Elle fonctionne mais retourne des chaines. Pour obtenir des valeurs numériques utilisables, il faut que tu évalues la chaine (voir evstr)

girdav
Membre Complexe
Messages: 2425
Enregistré le: 21 Nov 2008, 22:22

par girdav » 01 Juin 2009, 16:38

Ah oui d'accord. Merci!
On voit que je suis un débutant sur Scilab!

girdav
Membre Complexe
Messages: 2425
Enregistré le: 21 Nov 2008, 22:22

par girdav » 01 Juin 2009, 20:00

Nouveau problème!
Après avoir fait:
l = evstr(x_dialog('Nombre de lignes','10'));
c = evstr(x_dialog('Nombre de colonnes','5000'));
p = evstr(x_dialog('Paramètre','0,5'));
Y = grand(l,c,'bin',1,p);

on m'affiche:
Wrong type for input argument: Scalar expected.
at line 5 of function sommedebernoulli called by :
sommedebernoulli
.
Pourquoi ne considère-t-il pas les c,l et p comme des scalaires?

Dominique Lefebvre
Membre Légendaire
Messages: 8007
Enregistré le: 03 Déc 2005, 13:00

par Dominique Lefebvre » 01 Juin 2009, 20:25

girdav a écrit:Nouveau problème!
Après avoir fait:
l = evstr(x_dialog('Nombre de lignes','10'));
c = evstr(x_dialog('Nombre de colonnes','5000'));
p = evstr(x_dialog('Paramètre','0,5'));
Y = grand(l,c,'bin',1,p);
on m'affiche:
Wrong type for input argument: Scalar expected.
at line 5 of function sommedebernoulli called by :
sommedebernoulli.
Pourquoi ne considère-t-il pas les c,l et p comme des scalaires?

Commence par écrire 0.5 au lieu de 0,5 . Je sais bien que c'est un logiciel français, mais il adopte la convention amérique pour l'écriture des décimales...

girdav
Membre Complexe
Messages: 2425
Enregistré le: 21 Nov 2008, 22:22

par girdav » 01 Juin 2009, 20:26

Que d'erreurs bêtes! Merci!

 

Retourner vers ✯✎ Supérieur

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 35 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite