概述
MATLAB的有关随机数生成的官网介绍链接如下:
https://ww2.mathworks.cn/help/matlab/random-number-generation.html?s_tid=CRUX_lftnav
因为要对开发的程序进行测试,输入源需要随机数值,所以学习了此部分。下面的实例是在octava上实现的。
此处只介绍用的最多的rand函数,此函数生成均匀分布的随机值,数值的范围是(0,1)
此函数的参数几乎都是标识维度,不输入参数则标识随机产生一个数值
1.1 X = rand
返回一个在区间 (0,1) 内均匀分布的随机数
octave:1> rand
ans = 0.20808
octave:2> rand
ans = 0.58973
变换1:如果想生成区间(0,n) 内均匀分布的随机数 =》X = rand*n
octave:4> rand*5
ans = 2.2510
octave:5> rand*5
ans = 4.1094
octave:6> rand*5
ans = 4.5867
变化2:如果想生成(n,m)内均匀分布的随机数=》X = n+(m-n)*rand
octave:7> -4 + (5+4)*rand
ans = -3.7649
octave:8> -4 + (5+4)*rand
ans = 0.35622
octave:9> -4 + (5+4)*rand
ans = 4.6428
octave:10> -4 + (5+4)*rand
ans = 1.5459
octave:11> -4 + (5+4)*rand
ans = 1.6149
octave:12> -4 + (5+4)*rand
ans = -2.5247
1.2 X = rand(
返回一个 n
)n
×n
的随机数矩阵
octave:13> rand(9)
ans =
0.868954 0.265622 0.911580 0.661036 0.109371 0.789455 0.100291 0.343442 0.065163
0.256721 0.889135 0.695614 0.358483 0.258727 0.099384 0.537196 0.236027 0.869580
0.519831 0.657023 0.140445 0.722164 0.514642 0.339353 0.080864 0.718969 0.438621
0.431948 0.380809 0.180195 0.372965 0.485576 0.057151 0.288552 0.673813 0.451895
0.444808 0.326421 0.478564 0.024412 0.330432 0.766101 0.480283 0.730024 0.866199
0.490655 0.441838 0.618104 0.215073 0.674766 0.449814 0.899638 0.537009 0.897318
0.459486 0.950606 0.914293 0.274633 0.393915 0.932893 0.598459 0.584323 0.558226
0.789181 0.751021 0.215475 0.232791 0.546484 0.679825 0.890010 0.539662 0.248166
0.437631 0.913848 0.931948 0.202834 0.778612 0.342074 0.830293 0.229764 0.633273
1.3 X = rand(
返回由随机数组成的 sz1,...,szN
)sz1
×...×szN
数组,其中 sz1,...,szN
指示每个维度的大小
octave:14> rand(2,3,4)
ans =
ans(:,:,1) =
0.387136 0.096092 0.651229
0.725119 0.923931 0.338963
ans(:,:,2) =
0.0050681 0.8645338 0.4178019
0.8947373 0.8762440 0.6465174
ans(:,:,3) =
0.50042 0.96291 0.64001
0.83680 0.33855 0.35406
ans(:,:,4) =
0.31640 0.68602 0.70435
0.86222 0.99248 0.54840
1.4 X = rand(
返回由随机数组成的数组,其中大小向量 sz
)sz
指定 size(X)
octave:15> rand([4,5])
ans =
0.7483314 0.8608532 0.1047061 0.4541333 0.3376270
0.6532058 0.3267975 0.7976654 0.9631364 0.1016859
0.6637877 0.7816937 0.9568084 0.6199080 0.8533525
0.7936978 0.6063421 0.0068137 0.3089091 0.7811295
1.5 X = rand(___,
返回由 typename
)typename
数据类型的随机数组成的数组。typename
输入可以是 'single'
或 'double'
octave:20> r1 = rand(2,'single')
r1 =
0.62568 0.48734
0.20526 0.91453
octave:21> r2 = rand(2,'double')
r2 =
0.99025 0.41473
0.83047 0.44875
octave:22> size(r1)
ans =
2 2
octave:23> size(r2)
ans =
2 2
octave:24> class(r1)
ans = single
octave:25> class(r2)
ans = double
1.6 X = rand(___,'like',
返回由 p
)p
等随机数组成的数组;也就是与 p
同一对象类型。您可以指定 typename
或 'like'
,但不能同时指定两者,可用于克隆现有的随机数据类型和维度。
最后
以上就是天真雪糕为你收集整理的MATLAB随机值产生rand的全部内容,希望文章能够帮你解决MATLAB随机值产生rand所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复