matlab中怎样⽣成随机数——随机数⽣成函数rand家族
随机数的⽣成在算法编程中⾮常常⽤,在matlab中rand(random的缩写)家族经常被使⽤。
⼩⽩⼀枚,敬请⼤神指教
rand家族成员
1. randMatrix = rand(x, y)
2. randMatrix = randn(x, y)
3. randMatrix = randi(x, y)
4. randMatrix = randperm(x, y)
5. rng 使⽤⽅法
rand
随机⽣成⼀组数,数值范围在[0, 1]之间,所⽣成的随机值服从随机分布。
rand(x) or rand(x, y)
rand(x) :这种形式的写法默认随机⽣成维度为x的⽅阵。
>> randMatrix = rand(3)
randMatrix =
0.8147 0.9134 0.2785
0.9058 0.6324 0.5469
0.1270 0.0975 0.9575
rand(x, y):这种形式的写法随机⽣成⾏数为x,列数为y的矩阵。
>> randMatrix = rand(2,3)
randMatrix =
0.9649 0.9706 0.4854
0.1576 0.9572 0.8003
randn
该函数⽣成服从标准正态分布的随机数。
randn(x) or randn(x, y)
randn(x): ⽣成标准正态分布的随机数⽅阵,⼤⼩为:-x- by -x-
>> randMatrix = randn(3)
randMatrix =
-0.2050 1.4090 -1.2075
-0.1241 1.4172 0.7172
matlab生成随机数1.4897 0.6715 1.6302
randn(x, y) :⽣成服从标准正态分布的随机数矩阵。⼤⼩为:-x- by -y-
>> randMatrix = randn(2,3)
randMatrix =
0.4889 0.7269 0.2939
1.0347 -0.3034 -0.7873
randi
该函数也具有常⽤的两种形式:randi(x) or randi(x, y).使⽤⽅法和上述的rand和randn⼀样。
randperm
该函数功能是⽣成⼀组整数,并将顺序随机打乱。这种打乱顺序,完全随机,并不服从什么分布。
例1:
>> randperm(5)
ans =
2 4 5
3 1
randperm(5), 表⽰⽣成从1到5的五个为整数,并随机打乱顺序。
例2:
>> randperm(10, 3)
ans =
4 6 5
randperm(10, 3),表⽰⽣成从1到10的10整数,将顺序随机打乱,并将前三个整数返回。
探索篇——rng 使⽤⽅法
在⼀些随机⽣成参数的神经⽹络算法中,将某⼀次预测结果较⾼的随机参数在下⼀次随机⽣成中进⾏使⽤时,rng函数算是⼀种⽅式。它可以将上⼀次随机⽣成的随机数,进⾏保存,并在下⼀次随机⽣成时进⾏调⽤,使得前后两次随机⽣成的随机数相同。
>> 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
rng 函数在使⽤时,还可以指定随机⽣成的类型(rand, randi,randn)。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论