MATLAB 随机数
目录
- 1、均匀分布的随机数(rand)
- 2、均匀分布的伪随机整数(randi)
- 3、控制随机数生成(rng)
- 参考文献
1、均匀分布的随机数(rand)
X = rand 返回一个在区间 (0,1) 内均匀分布的随机数。
>> X = randX =0.421761282626275
X = rand(n) 返回一个 n×n 的随机数矩阵。
>> X = rand(4)X =0.814723686393179 0.632359246225410 0.957506835434298 0.9571669482429460.905791937075619 0.097540404999410 0.964888535199277 0.4853756487228410.126986816293506 0.278498218867048 0.157613081677548 0.8002804688888000.913375856139019 0.546881519204984 0.970592781760616 0.141886338627215
X = rand(sz1,sz2) 返回由随机数组成的 sz1×sz2 数组,其中 sz1,sz2 指示每个维度的大小。
例如:rand(3,4) 返回一个 3×4 的矩阵。
>> X = rand(3,4)X =0.915735525189067 0.655740699156587 0.933993247757551 0.7431324681249160.792207329559554 0.035711678574190 0.678735154857773 0.3922270195341680.959492426392903 0.849129305868777 0.757740130578333 0.655477890177557
公式 r = a + (b-a).*rand(N,1) 生成区间 (a,b) 内的 N 个随机数。
>> a=2;
>> b=9;
>> r=a+(b-a).*rand(5,1) % 生成一个区间(2,9)内均匀分布的数字组成的5*1列向量r =8.7182077096125674.3827000866629336.0968742568584423.5666835764379597.258869415139570
X = rand(~,typename) 返回由 typename 数据类型的随机数组成的数组。typename 输入可以是 ‘single’ 或 ‘double’。
创建一个由其元素为单精度值的随机数组成的 1×4 向量。
>> r = rand(1,4,'single')r =0.0461714 0.0971318 0.8234578 0.6948286>> class(r) % r的数据类型ans =single>> r1=rand(1,4,'double')r1 =0.317099480060861 0.950222048838355 0.034446080502909 0.438744359656398>> class(r1) % r1的数据类型ans =double
X = rand(~,’like’,p) 返回由与p同数据类型同大小的数组。
>> p = single([3 2; -2 1]); % 创建一个由单精度数组成的2×2矩阵
>> X = rand(size(p),'like',p) % 创建一个与 p 具有相同大小和数据类型的由随机数组成的数组X =0.6463130 0.75468670.7093648 0.2760251
2、均匀分布的伪随机整数(randi)
X = randi(imax) 返回一个介于 1 和 imax 之间的伪随机整数标量。
X = randi(imax,n) 返回 n×n 矩阵,包含区间 [1,imax] 的均匀离散分布的伪随机整数。
>> X = randi(10,2)X =7 45 9
X = randi(imax,sz1,sz2) 返回 sz1×sz2 数组。
>> X = randi(10,3,4) % randi(10,3,4) 返回一个由介于1和10之间的伪随机整数组成的3×4数组。X =10 5 2 62 1 8 26 4 4 7
3、控制随机数生成(rng)
程序中存在随机数时,如果不固定随机数,调试程序时,调试的参数在发生变化,随机数也在发生变化,此时就不清楚是由于参数的变化还是随机数的变化改变了程序的效果。所以在调试程序时,需要固定随机数,使用相同的随机种子,生成可重复的随机数。
现在使用种子 1 初始化生成函数。
>> rng(1);
>> A=rand(3,3) % 创建随机数数组A =0.417022004702574 0.302332572631840 0.1862602113776710.720324493442158 0.146755890817113 0.3455607270430480.000114374817345 0.092338594768798 0.396767474230670>> A=rand(3,3) % 重复同样的命令A =0.538816734003357 0.204452249731517 0.6704675101784020.419194514403295 0.878117436390945 0.4173048023671270.685219500396760 0.027387593197926 0.558689828445752
第一次调用 rand 改变了生成函数的状态,所以第二个结果不同。
现在使用与以前一样的种子重新初始化生成函数。然后将再次生成第一个矩阵 A。
>> rng(1);
A = rand(3,3)A =0.417022004702574 0.302332572631840 0.1862602113776710.720324493442158 0.146755890817113 0.3455607270430480.000114374817345 0.092338594768798 0.396767474230670
参考文献
如果需要进一步了解随机数,可以查看MathWorks官方文档链接。
rand函数
randi函数
rng生成可重复的随机数
MATLAB 随机数相关推荐
- 伪随机数matlab,伪随机数与matlab随机数
转自http://hi.baidu.com/yanshanedu/item/0432e4d2deac9543ddf9bee0 伪随机数与matlab随机数 要说matlab的随机函数,就得先说说伪随机 ...
- 伪随机数与matlab随机数
转自http://hi.baidu.com/yanshanedu/item/0432e4d2deac9543ddf9bee0 伪随机数与matlab随机数 要说matlab的随机函数,就得先说说伪随机 ...
- matlab随机数的设计及应用,matlab随机数的应用
随机数.: 十七.Weibull 随机数 R = weibrnd(A,B) R = weibrnd(A,B,m) R = weibrnd(A,B,m,n) Matlab 随机数 小结 1,rand 生 ...
- matlab 随机数大于0,Matlab 随机数 小结
1,rand 生成均匀分布的伪随机数.分布在(0~1)之间 语法:rand(m,n)生成m行n列的均匀分布的伪随机数 rand(m,n,'double')生成指定精度的均匀分布的伪随机数,参数还可以是 ...
- 概率论实验 02 - | 基于Matlab随机数的产生和特性统计
一.实验目的 1.了解随机数的产生方法: 2.了解随机数的概率特性: 3.产生实际随机数进行验证. 二.实验原理 随机数的产生有好多方法,可以利用乘积法和同余法产生[0,1]之间的均匀分布,然后利用函 ...
- MATLAB随机数产生方法
matlab的rand产生的是0到1(不包括1)的随机数,这是伪随机数,即由种子产生出来的.如果种子相同,则生成的随机数也相同,可以用于重复实验验证. (1)多次运行matlab程序,可以生成相同的随 ...
- matlab随机数的函数,matlab随机数函数
均匀分布 1.生成[0,1]之间的随机数 r = rand(5) r = 0.5468 0.6791 0.8852 0.3354 0.6538 0.5211 0.3955 0.9133 0.6797 ...
- matlab编写随机数程序,【matlab编程】matlab随机数函数
Matlab内部函数 a. 基本随机数 Matlab中有两个最基本生成随机数的函数. 1.rand() 生成(0,1)区间上均匀分布的随机变量.基本语法: rand([M,N,P ...]) 生成排列 ...
- matlab 随机数有效数字,MATLAB中生成随机数方法总结
好久没用MATLAB了,今天在利用MATLAB进行数据处理时,突然发现自己忘记了该如何产生自己需要的随机数形式,于是又查了一通资料.现对其进行一个简单的总结,供自己和大家以后参考: 1. randi ...
- matlab 随机数相同,Matlab 产生无重复随机数
Matlab 产生无重复随机数 Matlab自带函数randperm(n)产生1到n的整数的无重复的随机排列,利用它就可以得到无重复的随机数. function p = randperm(n); %R ...
最新文章
- Android:项目关联Library
- 工作经验总结201606
- Linux 部署ftp报530 错误解决方案
- 宝马3系m套件清单图_穿上套件我就不认识你了?华晨宝马1系新老对比
- sqoop 1.4.4-cdh5.1.2快速入门
- airpods耳机敲击没反应_华强北airpods2 华强北三代耳机 airpodspro可调通透 主动降噪 定位改名 苹果airpodspro...
- Netty之有效规避内存泄漏
- 【jvm】jvm 执行模式设置
- 【集合】Vector 是线程安全的?
- R开发环境(Eclipse+StatET)
- putty连接TPYBord V202开发板教程
- 【常见错误】--Nltk使用错误
- 第1节 kafka消息队列:5、javaAPI操作
- basis问题专区(文档)
- Python入门教程!手把手教会你爬取网页数据
- 多国语言解决方案gnu.gettext + poedit
- java程序控制马达_java控制步进电机
- transformer通俗理解
- win10如何使用WinSAT测试体验指数
- EMC磁珠到底什么样的特性
热门文章
- Android Support Library 学习入门
- 验证码不显示的解决方法
- joda-time的使用
- 普安特:猫咪在什么状况下容易患湿疹?
- AI 技术专家纷纷回归学术界,大厂刮起「科学家出走潮」?
- 在不重启Linux服务器的情况下在线识别新添加的磁盘
- JVM入门(位置、体系结构、类加载器、双亲委派机制、沙箱安全机制、Native、PC寄存器、方法区、堆(新生区{伊甸园区、幸存区}、养老区、永久区)、OOM、GC算法、JMM)
- 服务端安全测试体系概括
- MBR每个分区不超过2T
- ThinkPad SL300/SL400/SL500 Vista Ultimate SP1 32位简