rand是0-1的均匀分布,randn是均值为0方差为1的正态分布 用法自己help rand或者help randn一下就知道了 rand(n)或randn(n)生成n*n的随机数矩阵 rand(n,m)或randn(m,n)生成m*n的随机数矩阵。
Y = rand(n)
Y = rand(m,n)
Y = rand([m n])
Y = rand(m,n,p,...)
Y = rand([m n p...])
Y = rand(size(A))
rand
s = rand('state')
描述
rand函数产生由在(0, 1)之间均匀分布的随机数组成的数组。
Y = rand(n) 返回一个n x n的随机矩阵。如果n不是数量,则返回错误信息。
Y = rand(m,n) 或 Y = rand([m n]) 返回一个m x n的随机矩阵。
Y = rand(m,n,p,...) 或 Y = rand([m n p...]) 产生随机数组。
Y = rand(size(A)) 返回一个和A有相同尺寸的随机矩阵。
1,rand(3)*-2 rand(3)是一个3*3的随机矩阵(数值范围在0~1之间)
然后就是每个数乘上-2
2 ,用matlab随机产生60个1到365之间的正数 1+fix(365*rand(1,60));
3,用rand函数随机取100个从-1到1的数x1,x2,...,x = rand(1,100) * 2 - 1
提示:如何产生整数呢?
rand函数是产生0到1的随机分布
randn函数是产生标准正态分布
randint是产生整数随机数,默认为0和1
>> rand(3)
ans =
0.8147 0.9134 0.2785
0.9058 0.6324 0.5469
0.1270 0.0975 0.9575
>> randn(3)
ans =
-0.4326 0.2877 1.1892
-1.6656 -1.1465 -0.0376
0.1253 1.1909 0.3273
>> randint(3)
ans =
1 1 0
0 0 0
1 1 1
经过实践,以下做法我觉得不错:
>> randi([0,1],1,5)
ans =
1 1 1 0 0
这就是在[0,1]的整数选择,产生1*5的矩阵。