matlab生成随机数方法总汇 matlab指数分布随机数
1.rand()
生成(0,1)区间上均匀分布的随机变量。基本语法:
rand([M,N,P ...])
生成排列成 M*N*P... 多维向量的随机数。如果只写 M,则生成 M*M 矩阵;如果参数为 [M,N] 可以省略掉方括号。例如:
通过下面代码,可以生成大量随机数,查看大致的分布情况:
x=rand(100000,1);
hist(x,30);
由此可以看到生成的随机数很符合均匀分布。
2.randn()
生成服从标准正态分布(均值为 0,方差为 1)的随机数。基本语法和 rand() 类似。
randn([M,N,P ...])
生成排列成 M*N*P... 多维向量的随机数。如果只写 M,则生成 M*M 矩阵;如果参数为 [M,N] 可以省略掉方括号。例如:
通过下面代码,可以生成大量随机数,查看大致的分布情况:
x=randn(100000,1);
hist(x,50);
由图可以看到生成的随机数很符合标准正态分布。
b.连续型分布随机数
如果你安装了统计工具箱(Statistic Toolbox),除了这两种基本分布外,还可以用 Matlab 内部函数生成符合下面这些分布的随机数。
3.unifrnd()
这个函数生成某个区间内均匀分布的随机数。基本语法
unifrnd(a,b,[M,N,P,...])
生成的随机数区间在 (a,b) 内,排列成 M*N*P... 多维向量。如果只写 M,则生成 M*M 矩阵;如果参数为 [M,N] 可以省略掉方括号。例如:
%注:上述语句生成的随机数都在 (-2,3) 区间内.
通过下面代码,可以生成大量随机数,查看大致的分布情况:
x=unifrnd(-2,3,100000,1);
hist(x,50);
由图可以看到生成的随机数很符合区间 (-2,3) 上面的均匀分布。
4.normrnd()
此函数生成指定均值、标准差的正态分布的随机数。基本语法
normrnd(mu,sigma,[M,N,P,...])
生成的随机数服从均值为 mu,标准差为 sigma(注意标准差是正数)正态分布,这些随机数排列成 M*N*P... 多维向量。如果只写 M,则生成 M*M 矩阵;如果参数为 [M,N] 可以省略掉方括号。例如:
%注:上述语句生成的随机数所服从的正态分布都是均值为 2,标准差为 3.
通过下面代码,可以生成大量随机数,查看大致的分布情况:
x=normrnd(2,3,100000,1);
hist(x,50);
如图,上半部分是由上一行语句生成的均值为 2,标准差为 3 的 10 万个随机数的大致分布,下半部分是用小节 “randn()” 中最后那段语句生成 10 万个标准正态分布随机数的大致分布。
注意到上半个图像的对称轴向正方向偏移(准确说移动到 x=2 处),这是由于均值为2的结果。
而且,由于标准差是 3,比标准正态分布的标准差(1)要高,所以上半部分图形更胖 (注意 x 轴刻度的不同)。
5.chi2rnd()
此函数生成服从卡方(Chi-square) 分布的随机数。卡方分布只有一个参数:自由度 v。基本语法
chi2rnd(v,[M,N,P,...])
生成的随机数服从自由度为 v 的卡方分布,这些随机数排列成 M*N*P... 多维向量。如果只写 M,则生成 M*M 矩阵;如果参数为 [M,N] 可以省略掉方括号。例如:
%注:上述语句生成的随机数所服从的卡方分布的自由度都是5
通过下面代码,可以生成大量随机数,查看大致的分布情况:
x=chi2rnd(5,100000,1);
hist(x,50);
6.frnd()
此函数生成服从F 分布的随机数。F分布有2个参数:v1, v2。基本语法
frnd(v1,v2,[M,N,P,...])
生成的随机数服从参数为 (v1,v2) 的卡方分布,这些随机数排列成 M*N*P... 多维向量。如果只写 M,则生成 M*M 矩阵;如果参数为 [M,N] 可以省略掉方括号。例如:
%注:上述语句生成的随机数所服从的参数为 (v1=3,v2=5) 的 F 分布
通过下面代码,可以生成大量随机数,查看大致的分布情况:
x=frnd(3,5,100000,1);
hist(x,50);
从结果可以看出来, F分布集中在 x 正半轴的左侧,但是它在极端值处也很可能有一些取值。
7.trnd()
此函数生成服从t 分布(Student's t Distribution,这里 Student 不是学生的意思,而是 Cosset.W.S. 的笔名) 的随机数。t 分布有 1 个参数:自由度 v。基本语法
trnd(v,[M,N,P,...])
生成的随机数服从参数为 v 的t分布,这些随机数排列成 M*N*P... 多维向量。如果只写 M,则生成 M*M 矩阵;如果参数为 [M,N] 可以省略掉方括号。例如:
%注:上述语句生成的随机数所服从的参数为 (v=7) 的 t 分布
通过下面代码,可以生成大量随机数,查看大致的分布情况:
x=trnd(7,100000,1);
hist(x,50);
可以发现t分布比标准正太分布要 “瘦”,不过随着自由度 v 的增大,t 分布会逐渐变胖,当自由度为正无穷时,它就变成标准正态分布了。
接下来的分布相对没有这么常用,同时这些函数的语法和前面函数语法相同,所以写得就简略一些。
8.betarnd()
此函数生成服从Beta 分布的随机数。Beta 分布有两个参数分别是 A 和 B。
生成beta分布随机数的语法是:
betarnd(A,B,[M,N,P,...])
通过下面代码,可以生成大量随机数,查看大致的分布情况:
x=betarnd(3,5,100000,1);
hist(x,50);
9.exprnd()
此函数生成服从指数分布的随机数。指数分布只有一个参数: mu。
生成指数分布随机数的语法是:
exprnd(mu,[M,N,P,...])
通过下面代码,可以生成大量随机数,查看大致的分布情况:
x=exprnd(0.5,100000,1);
hist(x,50);
10.gamrnd()
生成服从Gamma 分布的随机数。Gamma 分布有两个参数:A 和 B。
生成 Gamma 分布随机数的语法是:
gamrnd(A,B,[M,N,P,...])
通过下面代码,可以生成大量随机数,查看大致的分布情况:
x=gamrnd(3,5,100000,1);
hist(x,50);
11.lognrnd()
生成服从对数正态分布的随机数。其有两个参数:mu 和 sigma,服从这个这样的随机数取对数后就服从均值为 mu,标准差为 sigma 的正态分布。
生成对数正态分布随机数的语法是:
lognrnd(mu,sigma,[M,N,P,...])
通过下面代码,可以生成大量随机数,查看大致的分布情况:
x=lognrnd(-1,1/1.2,100000,1);
hist(x,50);
12.raylrnd()
生成服从瑞利(Rayleigh)分布的随机数。其分布有 1 个参数:B。
生成瑞利分布随机数的语法是:
raylrnd(B,[M,N,P,...])
通过下面代码,可以生成大量随机数,查看大致的分布情况:
x=raylrnd(2,100000,1);
hist(x,50);
13.wblrnd()
生成服从威布尔(Weibull)分布的随机数。其分布有 2 个参数:scale 参数 A 和 shape 参数 B。
生成 Weibull 分布随机数的语法是:
wblrnd(A,B,[M,N,P,...])
还有非中心卡方分布(ncx2rnd),非中心F分布(ncfrnd),非中心t分布(nctrnd),括号中是生成服从这些分布的函数,具体用法用:help 函数名的方法查找。
通过下面代码,可以生成大量随机数,查看大致的分布情况:
x=wblrnd(3,2,100000,1);
hist(x,50);
c.离散型分布随机数
离散分布的随机数可能的取值是离散的,一般是整数。
14.unidrnd()
此函数生成服从离散均匀分布的随机数。Unifrnd 是在某个区间内均匀选取实数(可为小数或整数),Unidrnd 是均匀选取整数随机数。离散均匀分布随机数有 1 个参数:n, 表示从 {1, 2, 3, ... N} 这 n 个整数中以相同的概率抽样。基本语法:
unidrnd(n,[M,N,P,...])
这些随机数排列成 M*N*P... 多维向量。如果只写 M,则生成 M*M 矩阵;如果参数为 [M,N] 可以省略掉方括号。例如:
%注:上述语句生成的随机数所服从的参数为 (10,0.3) 的二项分布
通过下面代码,可以生成大量随机数,查看大致的分布情况:
x=unidrnd(9,100000,1);
hist(x,9);
可见,每个整数的取值可能性基本相同。
15.binornd()
此函数生成服从二项分布的随机数。二项分布有 2 个参数:n, p。考虑一个打靶的例子,每枪命中率为 p,共射击 N 枪,那么一共击中的次数就服从参数为(N,p)的二项分布。注意p 要小于等于1 且非负,N 要为整数。基本语法:
binornd(n,p,[M,N,P,...])
生成的随机数服从参数为 (N,p) 的二项分布,这些随机数排列成 M*N*P... 多维向量。如果只写 M,则生成 M*M 矩阵;如果参数为 [M,N] 可以省略掉方括号。例如:
%注:上述语句生成的随机数所服从的参数为 (10,0.3) 的二项分布
通过下面代码,可以生成大量随机数,查看大致的分布情况:
x=binornd(10,0.45,100000,1);
hist(x,11);
我们可以将此直方图解释为,假设每枪射击命中率为 0.45,每论射击 10 次,共进行 10 万轮,这个图就表示这 10 万轮每轮命中成绩可能的一种情况。
16.geornd()
此函数生成服从几何分布的随机数。几何分布的参数只有一个:p。几何分布的现实意义可以解释为,打靶命中率为 p,不断地打靶,直到第一次命中目标时没有击中次数之和。注意 p 是概率,所以要小于等于1且非负。基本语法:
geornd(p,[M,N,P,...])
这些随机数排列成 M*N*P... 多维向量。如果只写 M,则生成 M*M 矩阵;如果参数为 [M,N] 可以省略掉方括号。例如:
%注:上述语句生成的随机数所服从的参数为(0.4)的二项分布
通过下面代码,可以生成大量随机数,查看大致的分布情况:
x=geornd(0.4,100000,1);
hist(x,50);
17.poissrnd()
此函数生成服从泊松 (Poisson) 分布的随机数。泊松分布的参数只有一个:lambda。此参数要大于零。基本语法:
geornd(p,[M,N,P,...])
这些随机数排列成 M*N*P... 多维向量。如果只写 M,则生成 M*M 矩阵;如果参数为 [M,N] 可以省略掉方括号。例如:
%注:上述语句生成的随机数所服从的参数为(2)的泊松分布
通过下面代码,可以生成大量随机数,查看大致的分布情况:
x=poissrnd(2,100000,1);
hist(x,50);
其他离散分布还有超几何分布 (Hyper-geometric, 函数是 hygernd) 等,
如何在matlab中生成负指数分布和均匀分布的随机数
rand(n):生成0到1之间的n阶随机数方阵 rand(m,n):生成0到1之间的m×n的随机数矩阵 (现成的函数)
另外:
Matlab随机数生成函数
betarnd 贝塔分布的随机数生成器
binornd 二项分布的随机数生成器
chi2rnd 卡方分布的随机数生成器
exprnd 指数分布的随机数生成器
frnd f分布的随机数生成器
gamrnd 伽玛分布的随机数生成器
geornd 几何分布的随机数生成器
hygernd 超几何分布的随机数生成器
lognrnd 对数正态分布的随机数生成器
nbinrnd 负二项分布的随机数生成器
ncfrnd 非中心f分布的随机数生成器
nctrnd 非中心t分布的随机数生成器
ncx2rnd 非中心卡方分布的随机数生成器
normrnd 正态(高斯)分布的随机数生成器
poissrnd 泊松分布的随机数生成器
raylrnd 瑞利分布的随机数生成器
trnd 学生氏t分布的随机数生成器
unidrnd 离散均匀分布的随机数生成器
unifrnd 连续均匀分布的随机数生成器
weibrnd 威布尔分布的随机数生成器
相关推荐:
最新新闻:
- 相机的iso什么意思?旁轴相机和胶片机的区别
- 相机m档是什么档怎么用的?索尼相机连手机app下载
- 电磁阀几位几通的判断方法是什么?发动机电磁阀的作用
- 如何把u盘里的东西拷到手机里?用手机怎么往u盘里下载歌曲?
- Win11屏幕刷新率调整不了怎么解决?windows11兼容性怎么样?
- PPT柱状图如何增加柱子?ppt文本框内部边距怎么设置?
- 每日速递:NSO 会员N64游戏库今日更新 三款游戏入库
- 全球焦点!《卡普空街机合集2》现已发售 收录32款街机游戏名作
- 腾讯出行微信内测打车功能 采用多平台整合的方式
- 微软启动蓝屏提醒 一代经典Windows 8.1被放弃时间确定
- 当前快报:《霍格沃茨的遗产》新演示短片 展示学校北塔区域
- 全球快资讯丨《生化危机8:村庄-黄金版》雇佣兵额外命令预告发布
- 微信安卓8.0.25版发布 更新日志依然是熟悉得不能再熟悉的9个字
- 微信手表版上线:在vivo Watch 2上就能回复消息
- Windows 11声音音质都开始缩水了 Bug不断用户体验不舒爽
- 优酷投屏收费引热议!官方解答:会员权益不包含投屏
- 荣耀MagicBook 14锐龙版图赏 最高搭载AMD锐龙 7 6800H标压处理器
- Intel新旗舰至强W9-3495首曝
- Redmi G 2022游戏本开启预售 搭载新一代NVIDIA Ampere架构
- Intel 13代酷睿i5-13600K架构/频率大升级
- AirPods Pro 2或将抛弃旧款iPhone 仅可以适配iPhone 11或以上机型
- 世界看热讯:电影《奥本海默》预告泄露 明年7月21日上映
- OPPO Watch 3系列配置剧透 将成为骁龙W5首秀舞台
- 荣耀智慧屏X3i发布 采用一体化金属LCD全面屏主打低端千元市场
- 消息称iPhone15全系将采用叹号屏 苹果全面屏手机/平板加速到来
- iQOO 10 Pro根治电量焦虑症 200W超快闪充的实际体验到底有多好?
- 荣耀平板8首发评测 全新升级性能更强大12英寸屏幕+8扬声器
- 荣耀平板8开箱图赏 12英寸护眼大屏拥有2K分辨率
- 荣耀X40i正式发布 引入了全新的钻彩星河设计
- moto razr 2022或推迟发布 主要卖点是三个数字
- 苹果宣布iOS 16新功能上线 想用先交授权费借此来收取不少费用
- 苹果发布iOS/iPadOS 15.6更新 修复诸多Bug
- 小米13曝光首批搭载骁龙8 Gen2机型
- 荣耀平板8预售 三种选择将于7月29日正式发售
- 当前短讯!《上古卷轴ol》官方宣布 游戏玩家突破2100万
- 焦点要闻:《最后的生还者》重制版无障碍选项曝光 沿用二代
- 世界热资讯!育碧正开发多个《刺客信条》游戏 新作极有可能在日本
- 今日热讯:《命运2》将于8月23日举行专场发布会
- 全球视点!性价依旧良心!新款小米Redmi G游戏本6299元首发:2.5K/165Hz大屏
- 精彩看点:《哥谭骑士》蝙蝠女角色预告公开 小丑不会出现
- 全球视点!《时空勇者》评分汇总:一款Switch必玩的RPG游戏
- 动态焦点:暴跌50%!32GB DDR5内存史低价1169元 好价快买
- 【世界报资讯】每日低价硬货:27英寸4K显示器到手999元
- 每日信息:雷蛇发布新款PS5手柄专用快充底座 369元!
- 【环球播资讯】《漫威蜘蛛侠》PC版推荐配置出炉:GTX 1060还能再战十年
- 天天视讯!内存又降价了!32GB DDR4内存秒杀599元
- 全球信息:《糖豆人》再次联动《哥斯拉》追加全新服装
- 当前资讯!3月上映《龙与地下城:盗亦有道》发布正式预告
- 每日精选:《SD高达 激斗同盟》推出试玩版推出 追加剧情确定
- 环球今热点:《鬼灭之刃:火神血风谭》8月更新鬼化祢豆子
- 【当前热闻】Fami通新一周销量榜 《怪物猎人崛起》再次登顶
- 天天视点!剧情驱动RPG《电气马戏团》9月6日发售 登陆全平台
- 焦点讯息:《七龙珠:破界斗士》弗利萨角色预告 10月13日发售
- 全球看点:《忍者神龟合集》宣布8月30日发售 登陆全平台
- 【全球时快讯】《漫威蜘蛛侠:复刻版》国区开启预购 379元
- 今日讯!诺兰新片《奥本海默》首张海报曝光
- 焦点速讯:互联新体验&护眼新标杆 荣耀全场景发布会推出五大新品
- 天天热文:15天免费试骑 折叠山地自行车仅298元
- 世界观速讯丨开启专业创作新时代 洞察用户需求的华硕靠什么成功?
- 当前讯息:星巴克不锈钢马克杯 小米平替仅29元
- 全球快报:华硕ProArt创16 2022重磅首发 独创华硕旋钮设计玩出创作新花样
- 当前聚焦:美剧《哥斯拉大战泰坦》新卡司公布
- 焦点快报!传字节跳动估值跌破3000亿美元 比去年至少下跌25%
- 天天热资讯!【手慢无】小米12S破发 到手仅3799元 还能6期免息
- 全球信息:好莱坞明星最新片酬曝光 阿汤哥破亿居榜首
- 【世界新要闻】旷世G7六期免息啦!这个暑假就要宅在家里打游戏
- 环球精选!机身细节出众 新CODE01高性能轻薄本新图来了
- 世界热头条丨《光明记忆:无限》今日正式登陆主机端 售价78港币
- 世界要闻:NAND供应过剩!SSD价格还要大降价 降幅不小
- 全球讯息:不打价格战 快递报复性涨价 网友吐槽:还是不送上门
- 当前简讯:被评为天猫精灵“超级黑马伙伴” 森歌集成灶究竟有何魔力?
- 全球热门:京东携手TCL发布一价无忧服务标准
- 【世界速看料】三星完成第二代智能SSD研发 功耗降低70% CPU占用降97%
- 天天简讯:沈腾开用小米12S Ultra:本人自拍被夸帅
- 天天热点!百亿补贴再爆惊喜 12代标压+RTX3050++ 120Hz OLED 华硕无畏Pro15 2022仅需6299元