matlab产生随机的0和1序列 matlab怎么生成随机数rank?

[更新]
·
·
分类:行业
3908 阅读

matlab产生随机的0和1序列

matlab怎么生成随机数rank?

matlab怎么生成随机数rank?

随机数的生成在算法编程中非常常用,在matlab中rand(random的缩写)家族经常被使用。
小白一枚,敬请大神指教
rand家族成员
randMatrix rand(x, y)
randMatrix randn(x, y)
randMatrix randi(x, y)
randMatrix randperm(x, y)
rng 使用方法
rand
随机生成一组数,数值范围在[0, 1]之间,所生成的随机值服从随机分布。
rand(x) or rand(x, y)
rand(x) :这种形式的写法默认随机生成维度为x的方阵。
gtgt 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):这种形式的写法随机生成行数为x,列数为y的矩阵。
gtgt randMatrix rand(2,3) randMatrix 0.9649 0.9706 0.4854 0.1576 0.9572 0.8003 123456123456
randn
该函数生成服从标准正态分布的随机数。
randn(x) or randn(x, y)
randn(x): 生成标准正态分布的随机数方阵,大小为:-x- by -x-
gtgt 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) :生成服从标准正态分布的随机数矩阵。大小为:-x- by -y-
gtgt randMatrix randn(2,3) randMatrix 0.4889 0.7269 0.2939 1.0347 -0.3034 -0.7873 123456123456
randi
该函数也具有常用的两种形式:randi(x) or randi(x, y).使用方法和上述的rand和randn一样。
randperm
该函数功能是生成一组整数,并将顺序随机打乱。这种打乱顺序,完全随机,并不服从什么分布。
例1:
gtgt randperm(5) ans 2 4 5 3 1 1234512345
randperm(5), 表示生成从1到5的五个为整数,并随机打乱顺序。
例2:
gtgt randperm(10, 3) ans 4 6 5 1234512345
randperm(10, 3),表示生成从1到10的10整数,将顺序随机打乱,并将前三个整数返回。
探索篇——rng 使用方法
在一些随机生成参数的神经网络算法中,将某一次预测结果较高的随机参数在下一次随机生成中进行使用时,rng函数算是一种方式。它可以将上一次随机生成的随机数,进行保存,并在下一次随机生成时进行调用,使得前后两次随机生成的随机数相同。
gtgt randNum rng gtgt rand_1 rand(3) rand_1 0.2238 0.5060 0.9593 0.7513 0.6991 0.5472 0.2551 0.8909 0.1386 gtgt rng(randNum) gtgt 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 函数在使用时,还可以指定随机生成的类型(rand, randi,randn)。

matlab的rand函数能取到0吗?

matlab中通过rand函数产生的是介于0到1(不包括1)之间的伪随机数
举例:
rand(2,6)
ans
0.8147 0.1270 0.6324 0.2785 0.9575 0.1576
0.9058 0.9134 0.0975 0.5469 0.9649 0.9706
产生0-1随机数。
randn(2,6)
ans
0.4889 0.7269 0.2939 0.8884 -1.0689 -2.9443
1.0347 -0.3034 -0.7873 -1.1471 -0.8095 1.4384
产生均值为0,方差 σ^2 1,标准差σ 1的正态分布的随机数
使用rand的流程可以总结为:
1 调用srand(time(NULL))设置随机数种子。
2 调用rand函数获取一个或一系列随机数。
需要注意的是,srand只需要在所有rand调用前,被调用一次即可,没必要调用多次。
为了使rand的结果更“真”一些,也就是令其返回值更具有随机性(不确定性),C语言在stdlib.h中还提供了srand函数,通过该函数可以设置一个随机数种子,一般用当前时间的毫秒数来做参数。通过time(NULL)可以获取到当前时间的毫秒值(该函数位于time.h)中