Matlab fonction random
Résolu
Fubul
-
Fee Fay Messages postés 1036 Statut Membre -
Fee Fay Messages postés 1036 Statut Membre -
Bonjour,
voila jai un programme matlab avec une fonction inconnu en 7.0. Etant donné qu elle ne correspond a aucune routine, je penses quil sagit dune fonction utilisé dans les versions antérieur de matlab, et je voudrais savoir si qqn connait léquivalent actuel.
voici la ligne correspondante : vp1(i)=random('normal',vpstart(i),pctvp*vpstart(i),1,1);
je penses quil faut utiliser randn pour avoir un truc equivalent. Qqn sait-il si c bien cela? et si oui quels sont les paramètres a entrer dans randn pour que ce soit equivalent car je ne sais pas a quoi correspondent ceux en entré dans ce random?
Merci d'avance.
voila jai un programme matlab avec une fonction inconnu en 7.0. Etant donné qu elle ne correspond a aucune routine, je penses quil sagit dune fonction utilisé dans les versions antérieur de matlab, et je voudrais savoir si qqn connait léquivalent actuel.
voici la ligne correspondante : vp1(i)=random('normal',vpstart(i),pctvp*vpstart(i),1,1);
je penses quil faut utiliser randn pour avoir un truc equivalent. Qqn sait-il si c bien cela? et si oui quels sont les paramètres a entrer dans randn pour que ce soit equivalent car je ne sais pas a quoi correspondent ceux en entré dans ce random?
Merci d'avance.
3 réponses
Bonjour mon ami !
random est une fonction de la Statistics Toolbox.
La ligne de commande que tu désires utiliser te génère une variable aléatoire vp1(i) suivant la loi normale d'espérance vpstart(i) et d'écart type pctvp*vpstart(i).
Les dernières variables passées à la fonction random sont pour définir la taille de ta matrice de sortie. Ici, comme tu ne veux qu'un nombre réel, la taille est 1x1.
Toujours en utilisant la Statistics Toolbox, c'est équivalent à la commande :
Je pense donc qu'en remplaçant la ligne qui te pose souci par la suivante, cela devrait aller :
random est une fonction de la Statistics Toolbox.
La ligne de commande que tu désires utiliser te génère une variable aléatoire vp1(i) suivant la loi normale d'espérance vpstart(i) et d'écart type pctvp*vpstart(i).
Les dernières variables passées à la fonction random sont pour définir la taille de ta matrice de sortie. Ici, comme tu ne veux qu'un nombre réel, la taille est 1x1.
Toujours en utilisant la Statistics Toolbox, c'est équivalent à la commande :
vp1(i)=normrnd(vpstart(i),pctvp*vpstart(i));Mais dans la mesure où tu ne sembles pas avoir cette toolbox, il va donc falloir faire sans, c'est-à-dire générer ta variable aléatoire de loi normale d'espérance vpstart(i) et d'écart type pctvp*vpstart(i) à partir d'une variable de loi normale centrée réduite, que, comme tu le disais, tu peux générer avec la fonction randn.
Je pense donc qu'en remplaçant la ligne qui te pose souci par la suivante, cela devrait aller :
vp1(i)=vpstart(i)+pctvp*vpstart(i)*randn(1,1);Je te souhaite une bien bonne journée !