Random Uniform() continue de me donner le même numéroMon script renvoie des valeurs aléatoires de Random Uniform(), jusqu'à ce que j'écrive des résultats dans une table de données.Lorsque j'écris dans la table, Random Uniform() renvoie toujours la même valeur.Voir les commentaires dans le script ci-dessous.J'apprécierais toute aide.
Merci beaucoup,
John
names default to here(1);
clear log();
include("defineVectorClass.jsl");
dtChaos = open("chaos.jmp");
proportionToCorner = 0.5;
A = new object(Vector(column(dtChaos,"x")[1],column(dtChaos,"y")[1]));
B = new object(Vector(column(dtChaos,"x")[2],column(dtChaos,"y")[2]));
C = new object(Vector(column(dtChaos,"x")[3],column(dtChaos,"y")[3]));
triangle = {A,B,C};
dtChaos<<GRAPH builder=""></GRAPH>Re: Random Uniform() continue de me donner le même numéroMerci Xan
Re: Random Uniform() continue de me donner le même numéroMerci pour la réponse rapide.Les étiquettes n'étaient pas importantes pour la simulation, je les ai donc simplement désactivées comme vous l'avez suggéré et tout fonctionne très bien.
Re: Random Uniform() continue de me donner le même numéroUne autre solution consiste à désactiver la préférence Masquer les étiquettes superposées dans le groupe de préférences Graphiques. Cela semble être la source de l'interférence avec le flux aléatoire.
Re: Random Uniform() continue de me donner le même numéro(Merci @EvanMcCorkle et @danschikore pour avoir résolu ce problème avant que je n'arrive ce matin !)
Il s'agit d'un bogue dans le dessin des marqueurs de JMP ; le moyen le plus simple de lancer votre JSL est de supprimer l'état Label et de le changer en couleur.
Use color rather than labelUse color rather than labelUtilisez la couleur plutôt que l'étiquette
Le problème vient du code qui positionne les étiquettes autour des points de données ; il a besoin d'une séquence reproductible de nombres aléatoires pour jongler avec des étiquettes en collision, mais il ne garde pas la réinitialisation pour lui-même... comme vous l'avez remarqué.
Une autre approche qui conserve les étiquettes nécessite une solution de contournement dans votre JSL :
r = Random Seed State(); // the following statements make the graph update...
newX = current:x;
newY = current:y;
column(dtChaos,"X")[1+4]=newX;
column(dtChaos,"Y")[1+4]=newY;
wait(2);
Random Seed State(r);
cela capture et restaure t L'état aléatoire avant et après le tirage des marqueurs. La combinaison de la modification d'une valeur dans la table et de l'attente déclenche la mise à jour du graphique.
Merci pour le cas de test ; une solution appropriée est en cours.
Re: Random Uniform() continue de me donner le même numéroJe vois le problème, je ne connais pas encore la réponse.
Je vais regarder ça lundi matin.
@EvanMcCorkle