Faire une liste aléatoire : randvector

### 6.41.39 Faire une liste aléatoire : `randvector`

`randvector` fabrique une liste de nombres aléatoires.
`randvector` a comme argument un entier n et éventuellement un deuxième argument, soit un entier k, soit le nom quoté ou non quoté de la loi de distribution des nombres aléatoires de la liste (voir aussi 6.27.32, 6.45.3 et 8.3.9).
`randvector` renvoie une liste d’ordre n constituée d’entiers aléatoires uniformément distribués entre -99 et 99 (par défaut) ou entre 0 et k−1 ou uneliste d’ordre n de nombres aléatoires distribués selon la loi mise entre-quote ou en paramètre.
Lorsque `randvector` a comme argument un entier `n` et une loi aléatoire de `Xcas` qu’il faut quoter ou pas dans ce cas, `randvector` renvoie une liste de dimension `n` dont les éléments sont pris au hasard selon la fonction donnée en troisième argument.
Les fonctions données en deuxième argument qui doivent être quoter ou non et peuvent être :
`’rand(n)’`
`’binomial(n,p)’` ou `binomial,n,p` ou`’randbinomial(n,p)’`
`’multinomial(P,K)’` ou `multinomial,P,K` ou `’randmultinomial(P,K)’`
`’poisson(``λ``)’` ou `poisson,` `λ` ou `’randpoisson(``λ``)’`
`’normald(``µ``,``σ``)’` ou `normald,` `µ``,``σ` ou `’randnorm(``µ``,``σ``)’`
`’exponential(a)’` ou `exponential,a` ou `’randexp(a)’`
`’fisher(n,m)’` ou `fisher,n,m` ou `’randfisher(n,m)’`
Attention la syntaxe sans quote marche avec les lois mais pas avec la commande `rand...` correspondante, donc par exemple les commandes `randvector(3,normald,0,1)` ou `randvector(3,’normald(0,1)’)` ou `randvector(3,’randnorm(0,1)’)` sont valables mais `randvector(3,randnorm,0,1)` n’est pas valable.
On tape :

`randvector(3)`

On obtient par exemple :

`[-54,78,-29]`

On tape :

`randvector(3,5)`

On tape :

`randvector(3,’rand(5)’)`

On obtient par exemple :

`[1,2,4]`

On tape :

`randvector(3,normald,0,1)`

Ou on tape :

`randvector(3,’normald(0,1)’)`

On obtient par exemple :

`[1.39091705476,-0.136794772167,0.187312440336]`

On tape :

`randvector(3,2..4)`

On obtient par exemple :

`[3.92450003885,3.50059241243,2.7322040787]`

On tape :

`randvector(6,binomial,4,0.2)`

Ou on tape :

`randvector(6,’binomial(4,0.2)’)`

On obtient par exemple :

`[0,1,0,2,2,0]`

On effectue 6 fois 4 tirages avec une probabilité de succés de 0.2 et à chaque fois le nombre de succés a été de :
0 puis 1, puis 0, puis 2, puis 2, puis 0.
On tape :

`randvector(6,multinomial,[1/2,1/3,1/6])`

Ou on tape :

`randvector(6,’multinomial([1/2,1/3,1/6])’)`

On obtient par exemple :

`[3,2,1]`

On effectue 6 fois le tirage d’un objet parmi 3 objets (tirage avec remise). Chaque objet a la probabilité [1/2,1/3,1/6] d’être tiré et ici on a obtenu :
3 fois l’objet ayant la probabilité 1/2 dêtre tirés, 2 fois l’objet ayant la probabilité 1/3 d’être tirés et 1 fois l’objet ayant la probabilité 1/6 d’être tirés. On tape :

`randvector(10,multinomial,[1/2,1/3,1/6],[A,B,C])`

Ou on tape :

`randvector(10,’multinomial([1/2,1/3,1/6],[A,B,C])’)`

On obtient par exemple :

`[A,C,A,A,B,B,C,A,A,B]`

c’est à dire la liste des objets qui ont été tirés. On tape :

`randvector(10,multinomial,[1/2,1/3,1/6],["R","V","B"])`

Ou on tape :

`randvector(10,’multinomial([1/2,1/3,1/6],["R","V","B"])’)`

On obtient par exemple :

`["R","R","B","V","R","V","B","B","R","R"]`

On tape :

`randvector(6,poisson,1.3)`

Ou on tape :

`randvector(6,’poisson(1.3)’)`

On obtient par exemple :

`[1,0,1,1,1,1]`

On tape :

`randvector(4,exponential,1.2)`

Ou on tape :

`randvector(4,’exponential(1.2)’)`

On obtient par exemple :

`[1.67683756526,0.192937941271,0.580820253805,0.709352619633]`

On tape :

`randvector(5,fisher,4,6)`

Ou on tape :

`randvector(5,’fisher(4,6)’)`

On obtient par exemple :

`[0.17289703163,1.03709368317,0.161051043162,1.4407877128,0.358690104275]`