Page 1 sur 1

Générateur de nombres aléatoires...

MessagePublié: 03 Juil 2018 22:09
par Alphonse Capriani
Bonjour.

Alors que je m'amusais avec mes diagrammes de Voronoï (voir ce topic), une question m'est venue concernant la génération de nombre (pseudo) aléatoire avec Rand().

Je suppose que ce générateur utilise un seed pour renvoyer de tels nombres (la plupart des générateurs de nombres aléatoires fonctionnant sur ce principe). L'avantage avec un seed, c'est qu'en réutilisant le même, on obtient la même génération. Sauf qu'en regardant dans la doc TeXgraph, je vois qu'il n'y a pas d'option pour fixer ce seed. Y aurait-il un quelconque moyen de rendre cette option accessible ?

Re: Générateur de nombres aléatoires...

MessagePublié: 04 Juil 2018 09:51
par P.Fradin
Salut Alphonse,

Il n'y a pas cette instruction dans TeXgraph. À chaque lancement du programme, le générateur est initialisé aléatoirement (instruction randomize du Pascal).
Si tu veux deux suites aléatoires identiques, le plus simple est peut-être de créer une suite aléatoire dans une liste pour pouvoir réutiliser ensuite cette liste.

Re: Générateur de nombres aléatoires...

MessagePublié: 04 Juil 2018 09:59
par Alphonse Capriani
Oui, c'est ce que je fais quand j'ai besoin, mais c'est pas très pratique notamment quand tu joues avec 2 fichiers simultanément.

Je me doutais que ce n'était pas particulièrement faisable en l'état : c'est pas bien grave, mais ça aurait quand même été pratique dans certains cas.

Merci pour cette éclairage ;)

Re: Générateur de nombres aléatoires...

MessagePublié: 05 Juil 2018 11:27
par P.Fradin
Au pire tu peux créer ton propre générateur aléatoire, en créant d'abord la variable globale seed, puis la macro rand suivante :
Code: Tout sélectionner
//rand() ou rand(a) ou rand(a,b)
seed := mod(21173*seed+13849,65536),
$a:=%1, $b:=%2,
if a=Nil then seed/65536 // flottant de l'intervalle [0;1[
elif b=Nil then //entier entre 0 et a-1
     Ent(a*seed/65536)
else   //entier entre a et b-1
    Ent((b-a)*seed/65536+a)
fi

Re: Générateur de nombres aléatoires...

MessagePublié: 05 Juil 2018 15:24
par Alphonse Capriani
Oui, c'est une solution.

Je me souviens avoir fait un truc dans le genre il y a longtemps. J'avais fait un générateur de nombres suivant des lois particulières je crois (poisson, binomiale, ...). Je pense que ça doit être enterré dans un des vieux forums :D

Re: Générateur de nombres aléatoires...

MessagePublié: 06 Juil 2018 10:19
par P.Fradin
C'est dans l'ancien forum.
Mais tu utilisais la loi uniforme suivie par Rand() pour créer d'autres lois.

Re: Générateur de nombres aléatoires...

MessagePublié: 06 Juil 2018 13:29
par Alphonse Capriani
Ha ha ha : c'est plus facile de générer des nombres aléatoires quand il y a la fonction Rand() quand même :D