网站大量收购闲置独家精品文档,联系QQ:2885784924

Matlab生成随机数.ppt

  1. 1、本文档共42页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 一、有趣的蒙提霍尔问题 蒙提霍尔问题(Monty Hall problem),也称为三门问题,是一个源自博弈论的数学游戏问题,问题的名字来自美国的电视游戏节目:Lets Make a Deal,该节目的主持人名叫蒙提?霍尔(Monty Hall)。 这个游戏的玩法是:参赛者面前有三扇关闭的门,其中一扇门的后面藏有一辆汽车,而另外两扇门的后面则各藏有一只山羊。参赛者从三扇门中随机选取一扇,若选中后面有车的那扇门就可以赢得该汽车。当参赛者选定了一扇门,但尚未开启它的时候,节目主持人会从剩下两扇门中打开一扇藏有山羊的门,然后问参赛者要不要更换自己的选择,选取另一扇仍然关上的门。这个游戏涉及到的问题是:参赛者更换自己的选择是否会增加赢得汽车的概率? 生成随机数 ? 谢中华, 天津科技大学数学系. * * 华文行楷,字号88,颜色红,位于每一章的第一节的最前面。 不使用动画 * 生成随机数 教 材 * * 主要内容 生成一元分布随机数 生成多元分布随机数 蒙特卡洛方法 * 第一节 生成一元分布随机数 * 一、均匀分布随机数和标准正态分布随机数 调用格式: Y = rand 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)) 1. rand函数 * 在MATLAB7.7以前的版本中,rand函数还可以这样调用: rand(method, s) s = rand(method) 其中method是字符串变量,它的可能取值如下表所列: * 调用格式: 与rand函数类似 2. randn函数 * % 设置随机数生成器的算法为Mersenne Twister算法,初始种子为1 rand(twister,1); % 生成2行6列的随机数矩阵,其元素服从[0,1]上均匀分布 x1 = rand(2,6) 【例4.1-1】设置随机数生成器的算法为Mersenne Twister算法,生成均匀分布随机数矩阵 * 二、RandStream类 MATLAB 7.7及以后的版本中,依然支持rand函数的上述两种调用方式,但已经是过时的调用方式了,因为MATLAB 7.7中对生成随机数作了重大调整,给出了RandStream(随机数流)类,通过调用类的构造函数并传递合适的参数可以创建类对象,然后调用类对象的rand,randn,randi,randperm方法生成随机数。 * RandStream类方法列表 1. 创建RandStream类对象 * 调用格式: s = RandStream(gentype) […] = RandStream(gentype,param1,val1,param2,val2,…) 2. RandStream函数的调用方法 gentype有6个可能的取值:mcg16807、mlfg6331_64、mrg32k3a、mt19937ar、shr3cong和swb2712,对应随机数生成器的6个不同算法,默认值为mt19937ar * % 创建一个RandStream类对象s,其随机数生成器的算法为‘mlfg6331_64’,初始种子为10,对象s的randn方法的算法为Inversion s = RandStream(mlfg6331_64, seed, 10, RandnAlg, Inversion); % 调用对象s的randn方法生成10行10列的随机数矩阵x,其元素服从标准正态分布 x = s.randn(10) y = x(:); % 将x按列拉长成一个列向量 hist(y) % 绘制频数直方图 xlabel(标准正态分布随机数); % 为X轴加标签 ylabel(‘频数’); % 为Y轴加标签 【例4.1-2】调用RandStream函数创建一个指定随机数生成算法的RandStream类对象,然后利用对象的randn方法生成10×10的标准正态分布随机数矩阵,并将矩阵按列拉长,画出频数直方图 * 三、常见一元分布随机数 MATLAB统计工具箱中函数名以rnd三个字符结尾的函数用来生成常见分布的随机数。例如: betarnd Beta分布 exprnd 指数分布 gamrnd Gamma分布 lognrnd 对数正态分布 normrnd 正态分布 poissrnd 泊松分布 randsample 从有限总体中随机抽样 random 指定分布 * % 调用normrnd函数生成1000行3列的随机数矩阵x,其元素服从均值为75,标准差为8的正态分布 x = normrnd(75, 8, 1

文档评论(0)

wuyoujun92 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档