matlab源知识库,MATLAB產生連續均勻分布的隨機數組——unifrnd

unifrnd可以創建隨機的連續均勻分布的數組。

1.R = unifrnd(A,B)

returns an array of random numbers chosen from the continuous uniform distribution on the interval from A to B. The size of R is the common size of A and B if both are arrays. If either parameter is a scalar, the size of R is the size of the otherparameter.

這是matlab自帶的幫助文件的解釋,比較簡略,以下補充本人的理解:

A和B可以是向量也可以是標量,若兩個都是向量,則兩者都是列向量或都是行向量,而且維數相等。從A到B產生一系列區間,若A和B均為向量,則區間個數等於他們的維數;若其中恰有一個是向量,假設A為向量,則區間個數等於A的維數;若兩個均為標量,則A <= B,區間個數為1,且區間為[A,B]。然后在這一系列區間中隨機產生連續均勻分布的數組R並返回之。具體例子下述。

例1.

>> x=[1:9];

>> y = [2:10];

>> unifrnd(x,y)

得到

ans =

1.9595 2.6557 3.0357 4.8491 5.9340 6.6787 7.7577 8.7431 9.3922

從x到y產生區間[1,2],[2,3],[3,4],[4,5],[5,6],[6,7],[7,8],[8,9],[9.10].然后從每個區間產生一個隨機數,得執

x = [1:3];

R1 = unifrnd(x,1);

R2 = unifrnd(1,x);

得到

R1 =

1 NaN NaN

R2 =

1.0000 1.2769 1.0923

not a number”即不是數字。觀察語句R1 = unifrnd(x,1);“從x到1”產生區間[1,1],[2,1],[3,1]顯然只有第一個區間可以取得“隨機數”1,其余區間不符合規定,故而返回NaN。

觀察R2 = unifrnd(1,x);從1到x產生區間[1,1],[1,2],[1,3],取得隨機數組R2.

2.R = unifrnd(A,B,M,N,…) or R = unifrnd(A,B,[M,N,…])

returns an M-by-N-by-… array.

當有多個參數時,首先先確定A、B是標量還是向量,然后生成一個M行N列、..多維的矩陣、並給矩陣中的每一個元素按照例1的情況賦值。

例3.

執行指令

A= 0;

B = 100;

ma = [3 1];

R = unifrnd(A,B,3,1)

得到

R =

63.0171

69.1787

38.9173

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值