matlab怎么生成隨機(jī)數(shù)rank?
隨機(jī)數(shù)的生成在算法編程中非常常用,在matlab中rand(random的縮寫)家族經(jīng)常被使用。小白一枚,敬請(qǐng)大神指教
rand家族成員randMatrix = rand(x, y)
randMatrix = randn(x, y)
randMatrix = randi(x, y)
randMatrix = randperm(x, y)
rng 使用方法
rand
隨機(jī)生成一組數(shù),數(shù)值范圍在[0, 1]之間,所生成的隨機(jī)值服從隨機(jī)分布。rand(x) or rand(x, y)
rand(x) :這種形式的寫法默認(rèn)隨機(jī)生成維度為x的方陣。>> randMatrix = rand(3) randMatrix = 0.8147 0.9134 0.2785 0.9058 0.6324 0.5469 0.1270 0.0975 0.9575 12345671234567
rand(x, y):這種形式的寫法隨機(jī)生成行數(shù)為x,列數(shù)為y的矩陣。>> randMatrix = rand(2,3) randMatrix = 0.9649 0.9706 0.4854 0.1576 0.9572 0.8003 123456123456
randn
該函數(shù)生成服從標(biāo)準(zhǔn)正態(tài)分布的隨機(jī)數(shù)。randn(x) or randn(x, y)
randn(x): 生成標(biāo)準(zhǔn)正態(tài)分布的隨機(jī)數(shù)方陣,大小為:-x- by -x->> randMatrix = randn(3) randMatrix = -0.2050 1.4090 -1.2075 -0.1241 1.4172 0.7172 1.4897 0.6715 1.6302 12345671234567
randn(x, y) :生成服從標(biāo)準(zhǔn)正態(tài)分布的隨機(jī)數(shù)矩陣。大小為:-x- by -y->> randMatrix = randn(2,3) randMatrix = 0.4889 0.7269 0.2939 1.0347 -0.3034 -0.7873 123456123456
randi
該函數(shù)也具有常用的兩種形式:randi(x) or randi(x, y).使用方法和上述的rand和randn一樣。randperm
該函數(shù)功能是生成一組整數(shù),并將順序隨機(jī)打亂。這種打亂順序,完全隨機(jī),并不服從什么分布。例1:>> randperm(5) ans = 2 4 5 3 1 1234512345
randperm(5), 表示生成從1到5的五個(gè)為整數(shù),并隨機(jī)打亂順序。例2:>> randperm(10, 3) ans = 4 6 5 1234512345
randperm(10, 3),表示生成從1到10的10整數(shù),將順序隨機(jī)打亂,并將前三個(gè)整數(shù)返回。探索篇——rng 使用方法
在一些隨機(jī)生成參數(shù)的神經(jīng)網(wǎng)絡(luò)算法中,將某一次預(yù)測(cè)結(jié)果較高的隨機(jī)參數(shù)在下一次隨機(jī)生成中進(jìn)行使用時(shí),rng函數(shù)算是一種方式。它可以將上一次隨機(jī)生成的隨機(jī)數(shù),進(jìn)行保存,并在下一次隨機(jī)生成時(shí)進(jìn)行調(diào)用,使得前后兩次隨機(jī)生成的隨機(jī)數(shù)相同。>> randNum = rng; >> rand_1 = rand(3) rand_1 = 0.2238 0.5060 0.9593 0.7513 0.6991 0.5472 0.2551 0.8909 0.1386 >> rng(randNum); >> rnad_2 = rand(3) rnad_2 = 0.2238 0.5060 0.9593 0.7513 0.6991 0.5472 0.2551 0.8909 0.1386 12345678910111213141516171234567891011121314151617
rng 函數(shù)在使用時(shí),還可以指定隨機(jī)生成的類型(rand, randi,randn)。