栗子1:
結果為:import numpy as np
import random
random.seed(0)
np.random.seed(0)
print(np.random.rand(2))
print(np.random.rand(2))
再次執行結果為:[0.5488135 0.71518937]
[0.60276338 0.54488318]
想要在同乙個程式中產生同一組隨機數,需要在下乙個函式設定乙個相同的隨機種子[0.5488135 0.71518937]
[0.60276338 0.54488318]
結果為:import numpy as np
import random
random.seed(0)
np.random.seed(0)
print(np.random.rand(2))
np.random.seed(0)
print(np.random.rand(2))
栗子2:[0.5488135 0.71518937]
[0.5488135 0.71518937]
結果為:import random
random.seed(0)
print("1: ", random.random())
# 生成同乙個隨機數
random.seed(0)
print("2: ", random.random())
print("3: ", random.random())
print("4: ", random.random())
# 生成同乙個隨機數
random.seed(0)
print("5: ", random.random())
print("6: ", random.random())
print("7: ", random.random())
random.seed(0),其中的0是對應的隨機數的種子,如果不設定這個值,則系統根據時間來自己選擇這個值,此時每次生成的隨機數因時間差異而不同。1: 0.8444218515250481
2: 0.8444218515250481
3: 0.7579544029403025
4: 0.420571580830845
5: 0.8444218515250481
6: 0.7579544029403025
7: 0.420571580830845
生成的結果與**執行的的次數沒有什麼關係。分析結果可知,輸出值相同,與距離隨機數種子間隔也相同。由以上分析可見,1,2,5相同;3,6相同;4、7相同。
隨機數種子
隨機數 int main 函式rand 是真正的隨機數生成器,而srand 會設定供rand 使用的隨機數種子。如果你在第一次呼叫rand 之前沒有呼叫srand 那麼系統會為你自動呼叫srand 而使用同種子相同的數呼叫 srand 會導致相同的隨機數序列被生成。srand unsigned ti...
隨機數種子
隨機數就是就隨機數種子中取出的數。種子就是個序號,這個序號交給乙個數列管理器,通過這個序號,你從管理器中取出乙個數列,這個數列就是你通過那個序號得到的隨機數。但這個隨技術並不真正隨機。因為它是通過某個演算法的得到。也就是說你給數列管理器同乙個序號將得到同樣乙個 隨機 數列。也就是說種子和隨機數列是一...
隨機數種子
隨機數 int main 函式rand 是真正的隨機數生成器,而srand 會設定供rand 使用的隨機數種子。如果你在第一次呼叫rand 之前沒有呼叫srand 那麼系統會為你自動呼叫srand 而使用同種子相同的數呼叫 srand 會導致相同的隨機數序列被生成。srand unsigned ti...