Random Uniform()一直給我相同的數字我的腳本從Random Uniform()返回隨機值,直到我將一些結果寫入數據表。 當我寫入表時,Random Uniform()始終返回相同的值。 請參閱以下腳本中的註釋。 非常感謝任何幫助。
非常感謝,
約翰
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()一直給我相同的數字我看到了這個問題,還不知道答案。
星期一早上我會看一下。
@EvanMcCorkle
Re:Random Uniform()一直給我相同的數字(謝謝 @EvanMcCorkle 和 @danschikore 在我今天早上到來之前解決這個問題!)
這是JMP標記繪圖中的一個錯誤;讓JSL運行的最簡單方法是刪除Label狀態並將其更改為顏色。
Use color rather than label使用顏色而不是標籤
問題在於將標籤定位在數據點周圍的代碼;它需要一個可重複的隨機數序列來處理碰撞的標籤,但它並沒有將重置保持在自身......正如你所注意到的那樣。
保持標籤的另一種方法需要在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);
這捕獲並恢復t 繪製標記之前和之後的隨機狀態。更改表中的值和等待的組合會觸發圖表更新。
感謝測試用例;正在進行適當的修復。
Re:Random Uniform()一直給我相同的數字另一種解決方法是關閉“圖形”首選項組中的“隱藏重疊標籤”首選項。這似乎是隨機流乾擾的來源。
Re:Random Uniform()一直給我相同的數字感謝您及時的回复。 標籤對於模擬來說並不重要,所以我就像你建議的那樣關掉它們,一切都很好。
Re:Random Uniform()一直給我相同的數字謝謝Xan