rand函数深度解析

rand函数深度解析

ID:41570990

大小:97.62 KB

页数:7页

时间:2019-08-28

rand函数深度解析_第1页
rand函数深度解析_第2页
rand函数深度解析_第3页
rand函数深度解析_第4页
rand函数深度解析_第5页
资源描述:

《rand函数深度解析》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、作用:matlab屮通过rand函数产生的是介于0到1(不包括1)之间的伪随机数。用法举例:(1)rand(n)创建一个nxn的随机矩阵,n必须是整数。比如在commandwindow屮输入rand⑶,将创建一个3*3的随机矩阵,例如:>>rand(3)ans二0.19390.27780.70970.78690.41480.76360.07550.47610.8247(2)rand(m,n)创建mxn均匀分布的随机矩阵,元素取值在0.0~1.Oo例如在commandwindow中输入rand(3,4),将随机产生一个3%矩阵,例如:>>rand(3,4)ans二

2、0.25100.14110.53680.17320.33520.24370.78090.21720.72880.30210.77450.3473的随机矩阵。(1)rand(m,n,p,…)产生rrTnf例如在commandwindow中输入rand(2,3,4),则运行结果为:>>rand(2,3,4)ans(:,:,1)=0.46550.43010.83420.50670.03410.9640ans(:,:,2)二0.76640.27400.53780.36830.65660.4822ans(:,:,3)二0.30950.64400.74840.56220.9

3、0390.6918ans(:,:,4)二0.39870.15300.35080.88630.42420.6406(4)rand(size(a)):创建与矩阵a大小相同的随机矩阵例如:a=[123;456;789],a为3*3矩阵在commandwindow中输入rand(size(a)),将创建一个3*3随机矩阵。a二123456789〉〉rand(size(a))ans二0.05000.25900.24990.00150.74890.11840.38970.46310.8423(5)rand('state',s):s为一个数字,⑹rand(istate,,O)

4、:要了解此项用法,需要先知道:matlab的rand函数生的是伪随机数,即由种子递推出来的,相同的种子,生成相同的随机数.matlab刚运行起来时,种子都为初始值,因此每次第一次执行rand得到的随机数都是相同的.那么到底什么是种子呢?大家做个实验:1关掉matlab2打开matlab,在commandwindow中随机输入一个rand函数语句,比如rand(3,3)将会产生以下结果:>>rand(3,3)ans二0.95010.23110.60680.48600.89130.76210.45650.01850.82143再次关闭matlab,重新打开后仍然输入

5、rand(3,3),运行结果同样为:>>rand(3,3)ans一0・95010.48600.45650.23110.89130.01850.60680.76210.8214两次结果完全相同。为什么会出现这种情况。我们把种子理解为rand({state,,s)+的s值,在没有进行设置的情况下,s的值默认为s=0对于任意一个用rand产生的随机矩阵,其初值都是确定的。比如上面的rand(3,3),默认为:>>rand(3,3)ans二0.95010.48600.45650.23110.89130.01850.60680.76210.8214比如输入:rand(3,

6、4)则结果为:>>rand(3,4)ans二0.95010.48600.45650.44470.23110.89130.01850.61540.60680.76210.82140.7919这里说的是系统默认值,即rand(4stateO)对应的值。再看下面的例子:在commandwindow中输入rand(tstate,,1)回车后,继续输入rand(3,4)JB*回车,产生一个随机结果,这里用S1表示。接着输入rand(tstate,,2)冋车后,继续输入rand(3,4)后冋车,产生一个随机结果,这里用S2表示。接着输入rand(

7、,继续输入rand(3,4)后回车,产生一个随机结果,这里用S3表示。如果说我现在想要让随机产生的矩阵rand(3,4)为S1,只需要先输入randfstate^l)后,再输入rand(3,4)后刨车,即得到S1这个矩阵。同理可以得到S2,S3.也就是说,我们可以通过rand(istate,,s)中的s值记忆rtlrand函数随机产生的矩阵,其结果Ss是和s值一一对应的。如果想要得到默认的初值,则只需在commandwindow中键入rand(tstate,,O).但是需要注意的是,这里所说的“值为确定的”,并不是指rand(3,4)值是一样的,只是说系统有一个

8、默认的初值,这个值是确定

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。