rand函数深度解析.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
作用: matlab中通过rand函数产生的是介于0到1(不包括1)之间的伪随机数。 用法举例: (1)rand(n)创建一个n×n的随机矩阵,n必须是整数。 比如在command window中输入rand(3),将创建一个3*3的随机矩阵,例如: (2)rand(m,n)创建m×n均匀分布的随机矩阵,元素取值在0.0~1.0。 例如在command window中输入rand(3,4),将随机产生一个3*4矩阵,例如: (3)rand(m,n,p,…)产生m*n*p*……的随机矩阵。 例如在command window中输入rand(2,3,4),则运行结果为: (4)rand(size(a)):创建与矩阵a大小相同的随机矩阵 例如:a=[1 2 3;4 5 6;7 8 9],a为3*3矩阵 在command window中输入rand(size(a)),将创建一个3*3随机矩阵。 (5)rand(‘state’,s): s为一个数字, (6) rand(‘state’,0): 要了解此项用法,需要先知道: matlab的rand函数生的是伪随机数,即由种子递推出来的,相同的种子,生成相同的随机数.? matlab刚运行起来时,种子都为初始值,因此每次第一次执行rand得到的随机数都是相同的.? 那么到底什么是种子呢? 大家做个实验: 1关掉matlab 2打开matlab,在command window 中随机输入一个rand函数语句,比如rand(3,3) 将会产生以下结果: 3再次关闭matlab,重新打开后仍然输入rand(3,3),运行结果同样为: 两次结果完全相同。为什么会出现这种情况。 我们把种子理解为rand(‘state’,s)中的s值,在没有进行设置的情况下,s的值默认为s=0 对于任意一个用rand 产生的随机矩阵,其初值都是确定的。比如上面的rand(3,3),默认为: 比如输入:rand(3,4) 则结果为: 这里说的是系统默认值,即rand(‘state’,0)对应的值。 再看下面的例子: 在command window中输入rand(‘state’,1)回车后,继续输入 rand(3,4)后回车,产生一个随机结果,这里用S1表示。 接着输入rand(‘state’,2)回车后,继续输入 rand(3,4)后回车,产生一个随机结果,这里用S2表示。 接着输入rand(‘state’,3)回车后,继续输入 rand(3,4)后回车,产生一个随机结果,这里用S3表示。 如果说我现在想要让随机产生的矩阵rand(3,4)为S1,只需要先输入rand(‘state’,1)后,再输入 rand(3,4)后回车,即得到S1这个矩阵。同理可以得到S2,S3. 也就是说,我们可以通过rand(‘state’,s)中的s值记忆由rand函数随机产生的矩阵,其结果Ss是和s值一一对应的。 如果想要得到默认的初值,则只需在command window中键入rand(‘state’,0). 但是需要注意的是,这里所说的“值为确定的”,并不是指rand(3,4)值是一样的,只是说系统有一个默认的初值,这个值是确定的,然后用户可以通过结合rand(‘state’,s)和rand(m,n,p…)来定制随机矩阵的值,并在需要用到的时候调用出来。 下面将以一个例子来加深理解: 键入:回车,得到: (S1) 键入:回车,得到: (S2) 键入回车,得到: (S3) 这就意味着把三个矩阵S1,S2,S3与rand(state,1),rand(state,2),rand(state,3)一一对应。如果用户想要调出矩阵S2,只需,得到的就是矩阵S2. 笔者叙述不清之处,敬请谅解!

文档评论(0)

mv2323 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档