matalab中的rand函数

随时随地阅读更多技术实战干货,获取项目源码、学习资料,请关注源代码社区公众号(ydmsq666)

产生均匀分布的随机数或数组

语法

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) or Y = rand([m n])   返回一个m x n的随机矩阵。
Y = rand(m,n,p,...) or Y = rand([m n p...])  产生随机数组。
Y = rand(size(A)) 返回一个和A有相同尺寸的随机数组。

rand,通过它自己,返回一个标量,这个标量在该函数每次被调用时都会发生改变。

s = rand('state') 返回一个有35个元素的包含均匀分布产生者状态的vector。

改变产生者的状态:

rand('state',s)    重置状态为s

rand('state',0)    重置为初始状态

rand('state',j)     对于整数j,重置产生者为第j个的状态

rand('state',sum(100*clock))  每次重置它为一个不同的状态

示例

1、R = rand(3,4) 可能产生

R =
    0.2190    0.6793    0.5194    0.0535
    0.0470    0.9347    0.8310    0.5297
    0.6789    0.3835    0.0346    0.6711

下面代码将在相等可能性之间做出随机选择:

 if rand < .5
    'heads'
 else
    'tails'
 end

2、在区间[a,b]产生均匀分布的随机数。为了达到这个目的,我们可以这样:对(b-a)使用rand,然后再加上a.例如,在区间[10,50]产生一个5x5的随机数组:

a = 10; b = 50;
x = a + (b-a) * rand(5)
x =

   18.1106   10.6110   26.7460   43.5247   30.1125
   17.9489   39.8714   43.8489   10.7856   38.3789
   34.1517   27.8039   31.0061   37.2511   27.1557
   20.8875   47.2726   18.1059   25.1792   22.1847
   17.9526   28.6398   36.8855   43.2718   17.5861


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值