我是靠谱客的博主 天真雪糕,最近开发中收集的这篇文章主要介绍MATLAB随机值产生rand,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述



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所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(69)

评论列表共有 0 条评论

立即
投稿
返回
顶部