matlab中randn(‘state’)

randn('state')

随机数都是由RandStream随机数据流生成的(里面有一套固定的算法,一般用时间发生装置)。其中就有'state','seed','twister'等参数。

‘state’是对随机发生器的状态进行初始化,并且定义该状态初始值。比如你过一段时间还要使用这个随机数的时候,还能保持当前的随机取值。

比如
randn('state',2013)
a = randn(1)
b = randn(1) 会发现与上一个随机值不一样

如果再定义一次
randn('state',2013)
c = randn(1) 会发现与a的值一样
(1)RANDN产生正态分布数的语法:
RANDN(N) :产生N× N的矩阵,其元素是按正态分布的数组;
RANDN(M,N) and RANDN([M,N]):产生M×N的矩阵;
RANDN(M,N,P,...) or RANDN([M,N,P...])产生随机序列;

(2)RANDN产生伪随机数的语法:
发生器的状态决定所产生数的序号。
S = RANDN('state') 是一个二元向量,包括标准发生器的状态;
RANDN('state',S):设置发生器的状态为S(即标准状态);
RANDN('state',0):设置发生器的初始状态;
RANDN('state',J):J为整数,设置发生器到J阶状态;

(3)MATlAB 4.X应用一个单独的种子来产生随机数:
RANDN('seed',0) and RANDN('seed',J)作用与RANDN('state',0)和RANDN('state',J)一样,但使用Matlab 4.x随机数发生器。
RANDN('seed'):返回MATlAB 4.X发生器的当前种子。

例如:randn(’seed‘,1),表明选定了一个初状态,再定义随机数列x=randn(1,100),x的值会确定下来,不会每运行一次而产生不同的随机数。

 

rand与randn的区别

rand是平均分布,即等概率分布,等概率产生0-1范围内的数。

randn是标准正态分布,均值为0,标准差为1.

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/rong86/p/3572284.html

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值