Re: [問題] 關於亂數產生器

看板MATLAB作者 (拒看台灣的垃圾媒體)時間19年前 (2005/08/20 22:51), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串1/1
※ 引述《gyro (願賭服輸~)》之銘言: : 我想要從 1 ~ 8 之間 : 隨機選擇一個出來 : 本來想要用 8*rand+1 : 因為rand 似乎是從 0 ~ 1 之間隨便選一個小數 : 可是每次執行結果 : 第一次 rand 都會等於 0.9501 : 第二次 0.2311 : 第三次 0.6068 : 這樣每次想要抽樣 都會抽到 8 2 5 ..... : 就失去亂數的意義了呀 : : 換成randn指令也一樣耶 : 第一次 randn 是 -0.4326 : 第二次 -1.6656 : 也是有規律 =.=||| 真不知道怎樣才能用到亂數指令~ : : -- : ※ 發信站: 批踢踢實業坊(ptt.cc) : ◆ From: 218.166.68.155 : 推 chingi:change your seed 199.74.99.98 08/20 : 推 principeiii:floor(9*rand(1)) 就可以了 btw樓上的我不懂 219.84.89.130 08/20 原PO的問題不在於取整數吧 而是每次都產生一樣的亂數序列 請參考以下 help rand 的說明 RAND produces pseudo-random numbers. The sequence of numbers generated is determined by the state of the generator. Since MATLAB resets the state at start-up, the sequence of numbers generated will be the same unless the state is changed. S = RAND('state') is a 35-element vector containing the current state of the uniform generator. RAND('state',S) resets the state to S. RAND('state',0) resets the generator to its initial state. RAND('state',J), for integer J, resets the generator to its J-th state. RAND('state',sum(100*clock)) resets it to a different state each time. -- PTT 有個討論芝加哥的版 --- 生活娛樂館 生活, 娛樂, 心情 GlobalView 國際 Σ世界地球村 → 美國/異國旅遊 Chicago 都市 ●芝加哥 Chicagoland -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 199.74.99.98

219.84.89.130 08/21, , 1F
感謝指導
219.84.89.130 08/21, 1F
文章代碼(AID): #131qDf2L (MATLAB)
文章代碼(AID): #131qDf2L (MATLAB)