概述
引自https://zhidao.baidu.com/question/277802946.html第二个回答,特此记录。
我的注释:R = unifrnd(A,B,m,n,...)
A是下界,B是上界,m,n,...是要生成的矩阵大小。
A,B均可以是单独一个数字或者矩阵。
1:A是一个数,B是一个数
A=0,B=1,unifrnd(A,B)
ans = 0.1618
生成2*3矩阵
A=0,B=1,unifrnd(A,B,2,3)
ans =
0.3259 0.0468 0.6244
0.6631 0.4619 0.7682
2:A是一个数,B是一个矩阵
A=0,B=1:9,unifrnd(A,B)
ans = 0.3844 1.6914 2.6116 3.1515 2.8140 2.1488 4.6216 7.3557 2.6157
结果是产生以0为下界,分别以1:9为上界的1*9矩阵,此时不能定义产生的矩阵大小,只能通过调整B大小来调整产生矩阵的大小。当下界大于上界时,如:
A=5,B=1:9,unifrnd(A,B)
ans = NaN NaN NaN NaN 5.0000 5.8863 6.5871 6.7723 6.5999
3:A是一个矩阵,B是一个数
A=[1 2;3 4],B=5,unifrnd(A,B)
ans =
2.2801 4.7233
4.1380 4.3010
4:A是一个矩阵,B是一个矩阵
A=[1 2;3 4],B=[5 6;7 8],unifrnd(A,B)
ans =
2.2799 4.2232
3.0103 7.9543
同样,此时A与B矩阵大小应一致,不然会提示矩阵大小不一致。
原答案:
在连续均匀分布里面取随机数,得到矩阵。按一定规律取,其值是在均匀分布中随机找,矩阵元素个数及形状面规定的。
R = unifrnd(A,B,m,n,...)
解释:R = unifrnd(A,B)返回一个矩阵,什么样的一个矩阵呢?首先,矩阵的每个元素都是一定范围的一个连续均匀分布里面的一个随机值,这个连续分布有一个上限一个下限,这就要分多种情况讨论了:
1、若A、B都是单个数字,则函数返回的矩阵是以A为下限B位上限的连续均匀分布中一个随机值(单个元素也可以算一个矩阵)。若是R = unifrnd(A,B,m,n,...)函数形式,则返回各对应尺寸为m,n,...的一个矩阵,其中的每个元素都是以A为下限B为上限的连续均匀分布中一个随机值。
2、若A是数字,B是矩阵。则R = unifrnd(A,B)返回一个与B同型的矩阵。其中的每一个元素这样产生:以A为下限,以B中对应位置的元素为上限产生一个连续均匀分布,在里面随机取一个值即可。同样,对于R = unifrnd(A,B,m,n,...),返回的是一个尺寸为m,n,...的矩阵,那么易知这里暗示B必须能包含这个返回矩阵!
3、若A、B都是矩阵,那么R = unifrnd(A,B)函数也暗示A、B是同型矩阵,返回的也是同型矩阵,每个元素的产生参照前面的,就不用再介绍了。
R = unifrnd(A,B,m,n,...) or R = unifrnd(A,B,[m,n,...]) returns an m-by-n-by-... array. If A and B are scalars, all elements of R are generated from the same distribution. If either A or B is an array, they must be m-by-n-by-... . 如果A、B是常数,那么返回的规定尺寸的矩阵每一个元素都服从同一个连续均匀分布(上下限分别是A、B)。
A=[1 2;3 4],B=5,unifrnd(A,B)
最后
以上就是英俊蜻蜓为你收集整理的matlab unifrnd的全部内容,希望文章能够帮你解决matlab unifrnd所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复