第一句子网 - 唯美句子、句子迷、好句子大全
第一句子网 > matlab中的rand randn 和randi函数

matlab中的rand randn 和randi函数

时间:2024-03-19 09:59:36

相关推荐

matlab中的rand  randn 和randi函数

1. rand(m,n) 生成m行n列均匀分布在(0~1)之间的伪随机数。

rand(1,5)ans =0.8147 0.9058 0.1270 0.9134 0.6324

● 若想得到一个3*3的方阵,则输入rand(3)即可。

>> rand(3)ans =0.6852 0.0274 0.55870.2045 0.6705 0.14040.8781 0.4173 0.1981

● rand(size(A)) 返回一个和A有相同尺寸的随机矩阵。例如我们随便输入一个A矩阵,然后输入这个语句之后即可得到相同行列的一个随机矩阵。

>> A = [1,2;3,4]A =1234>> rand(size(A))ans =0.3456 0.53880.3968 0.4192

2. randn (m,n) 生成m行n列标准正态分布的伪随机数(均值为0,方差为1)

randn(1,5)ans =-1.3077 -0.4336 0.3426 3.5784 2.7694

3. randi 生成均匀分布的伪随机整数

randi(iMax),在 [1,iMax] 生成均匀分布的伪随机整数

randi(5)ans =3

randi(iMax,m,n),在 [1,iMax] 上生成 m * n 型随机矩阵

randi(5,1,5)ans =51354

randi([iMin,iMax],m,n) ,在 [iMin,iMax] 生成 m * n 型随机矩阵

randi([2,5],2,5)ans =5255345444

4. 重复生成前一次的随机数

我们可以使用rng来保存上一次生成随机数的状态,也就是常说的随机数种子seed

s = rng; % 保存a的随机数seeda = randn(1,5)k = rng; % 保存b的随机数seedb = randn(1,5)rng(s) % 调用a的随机数seeda_t = randn(1,5)rng(k) % 调用b的随机数seedb_t = randn(1,5)

结果如下:

a =-2.9443 1.4384 0.3252 -0.7549 1.3703b =-1.7115 -0.1022 -0.2414 0.3192 0.3129a_t =-2.9443 1.4384 0.3252 -0.7549 1.3703b_t =-1.7115 -0.1022 -0.2414 0.3192 0.3129

也可以使用下面这种方法来循环生成同样的随机数

rng(seed)中的seed可以自行选取不同的数值,以此来控制不同的随机数状态

for i = 1:5rng(1)x = randn(1,5)end

结果如下:

x =-0.6490 1.1812 -0.7585 -1.1096 -0.8456x =-0.6490 1.1812 -0.7585 -1.1096 -0.8456x =-0.6490 1.1812 -0.7585 -1.1096 -0.8456x =-0.6490 1.1812 -0.7585 -1.1096 -0.8456x =-0.6490 1.1812 -0.7585 -1.1096 -0.8456

可以看到生成的随机数都是一样的。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。