matlab中如何產生01上均勻分佈的隨機數

2021-03-07 04:27:12 字數 6221 閱讀 8204

1樓:匿名使用者

在matlab 中產生0-1上均勻

分佈的隨機數方法如下:

方法1、對於問題,如果 y 是m*n的服從0~1均勻分佈的隨機矩陣:

y = rand(m,n);

方法2、用統計工具箱,y = unifrnd(0,1,m,n).

另外,提供常用的函式分佈供參考:

1、 均勻分佈u(a,b)

產生m*n階[a,b]均勻分佈u(a,b)的隨機數矩陣:unifrnd (a,b,m, n)

2、0-1分佈u(0,1)

產生m*n階[0,1]均勻分佈的隨機數矩陣:rand (m, n)

3、二類分佈binornd(n,p,mm,nn),即產生mm*nn均值為n*p的矩陣

4、產生m*n階離散均勻分佈的隨機數矩陣:

unidrnd(n,mm,nn) 產生一個數值在1-n區間的mm*nn矩陣;

5、產生mm nn階期望值為 的指數分佈的隨機數矩陣:exprnd ( ,mm, nn).

2樓:匿名使用者

對於你的問題,如果 y 是m*n的服從0~1均勻分佈的隨機矩陣:

y = rand(m,n)

用統計工具箱,

y = unifrnd(0,1,m,n)

3樓:匿名使用者

如果 y 是m*n的服從0~1均勻分佈的隨機矩陣:

y = rand(m,n)

用統計工具箱,

y = unifrnd(0,1,m,n)

4樓:匿名使用者

rand函式

a=rand(m,n)

該函式產生一個大小m*n的陣列,陣列的元素為在區間(0,1)內均勻分佈的數

5樓:匿名使用者

x=random('unif',0,1)

6樓:dandy的同桌

rand生成的是標準正態分佈

matlab中均勻分佈怎麼產生?

7樓:灩麗

1、如果我們想生成一個3*3的均勻分佈的矩陣,只需要如下命令:rand(3,3) 或者 rand(3)。

2、如果需要獲得(a,b)的隨機數,我們可以利用(0,1)的均勻隨機數來生成(a,b)的均勻隨機數。a + (b-a).*rand(m,n) 。

這裡(a,b) 是你生成隨機數的端點,m,n代表矩陣的行和列。

3、生成均勻分佈(2,4) 的3*3矩陣,對於這個問題,我們只需要簡單的代下公式即可2 + 2.*rand(3,3)    。

4、我們可以分析生成資料的分佈圖來驗證我們生成的均勻的隨機變數是否是均勻的。

5、另外一個我們可以簡單驗證其均值,通過mean函式。

8樓:匿名使用者

1、均勻分佈:unifrnd (a, b, m, n); 產生m*n階[a, b]均勻分佈,unifrnd (a,b)           ;產生一個[a,b]的均勻隨機數。

2、rand (m, n);產生m*n階[0,1]均勻分佈的隨機數矩陣,rand(n); 產生n*n階[0,1]均勻分佈的隨機數。

3、binornd(n,p,[m,n,p,...])  產生的是服從二項分佈的隨機數。

4、unidrnd(n,m,n) ;產生m*n階離散均勻分佈的隨機數矩陣;產生一個數值在1-n之間的mm*nn矩陣。

5、exprnd (mu ,m, n)產生m*n階期望值為mu的指數分佈的隨機數矩陣。

9樓:天雲一號

matlab中產生均勻分佈的函式

為rand函式。

具體實現方法可以參考如下程式段:

a = rand(5, 3); % 產生5*3的矩陣,矩陣的元素服從均勻分佈,均值為0,矩陣元素在(0,1)之間

a = rand(5, 3) + 0.5; % 產生5*3的矩陣,矩陣的元素服從均勻分佈,均值為0.5,矩陣元素在(0,1)之間

10樓:匿名使用者

使用rand(m,n)產生m行n列的均勻矩陣

randn則為正態分佈矩陣

11樓:匿名使用者

unifrnd 產生均勻分佈 具體的看下help吧

matlab 怎麼產生01分佈隨機數

12樓:紫色學習

在matlab 中產生0-1上均勻分佈的隨機數方法如下:

方法1、對於問題,如果 y 是m*n的服從0~1均勻分佈的隨機矩陣:

y = rand(m,n);

方法2、用統計工具箱,y = unifrnd(0,1,m,n).

另外,提供常用的函式分佈供參考:

1、 均勻分佈u(a,b)

產生m*n階[a,b]均勻分佈u(a,b)的隨機數矩陣:unifrnd (a,b,m, n)

2、0-1分佈u(0,1)

產生m*n階[0,1]均勻分佈的隨機數矩陣:rand (m, n)

3、二類分佈binornd(n,p,mm,nn),即產生mm*nn均值為n*p的矩陣

4、產生m*n階離散均勻分佈的隨機數矩陣:

unidrnd(n,mm,nn) 產生一個數值在1-n區間的mm*nn矩陣;

5、產生mm nn階期望值為 的指數分佈的隨機數矩陣:exprnd ( ,mm, nn).

13樓:佔有≠擁有

sign(fix(rand/0.3))

rand取0-1區間的隨機數

fix(rand/0.3) 則取到0-0.3區間時=0,取到0.3-1區間時≥1,概率比為3:7

sign(fix(rand/0.3))將非零數取1;即rand取在0.3-1區間時總式=1

取在0-0.3區間時總式=0

樓上的變成7:3了

14樓:

1-fix(rand/0.7)

一般的fix(rand+p)

p為取1的概率

用內建函式不就可以了

15樓:手機使用者

**用這麼費事。最好理解、也很通用的是

floor(rand+0.7)

也就是吧0.7~1.7之間的均勻分佈向下取整到0或者1,0.7就是1的概率

matlab中rand函式中元素服從0到1之間均勻分佈的隨機矩陣,那怎樣才能產生3-5之間的隨機數呢

16樓:匿名使用者

原理如下:抄a服從【0,1】均勻分佈,bai則(a+b)/n服從【b/n,(b+1)/n】均

du勻分佈zhi

。a*n+b服從【b,daob+n】均勻分佈因而,(rand()*2)+3服從【3,5】均勻分佈。

值得注意的是,我們首先考慮了均勻分佈區間的長度,將【0,1】區間拉伸到相同長度,然後再使用平移即可。

17樓:宇逸

3+2*rand()

matlab中怎麼產生離散的均勻隨機數?

18樓:匿名使用者

unidrnd可以產生離散的均勻隨機數,其實在新版的matlab中支援模糊查詢,在***mand視窗中輸入uni然後按下tab鍵,所有以uni開頭的函式都會列出來!

19樓:shine戚七七

以產生0-1上均勻分佈的

隨機數為例:

方法1、對於問題,如果 y 是m*n的服從0~1均勻分佈的隨機矩陣:

y = rand(m,n);

方法2、用統計工具箱,y = unifrnd(0,1,m,n).

另外,提供常用的函式分佈供參考:

1、 均勻分佈u(a,b)

產生m*n階[a,b]均勻分佈u(a,b)的隨機數矩陣:unifrnd (a,b,m, n)

2、0-1分佈u(0,1)

產生m*n階[0,1]均勻分佈的隨機數矩陣:rand (m, n)

3、二類分佈binornd(n,p,mm,nn),即產生mm*nn均值為n*p的矩陣

4、產生m*n階離散均勻分佈的隨機數矩陣:

unidrnd(n,mm,nn) 產生一個數值在1-n區間的mm*nn矩陣;

5、產生mm nn階期望值為 的指數分佈的隨機數矩陣:exprnd ( ,mm, nn).

20樓:上善之水

rand(x)是生成1以內的隨機數

你可以讓它*你需要數的範圍

請問matlab中如何產生一個介於-1到1之間的隨機數?謝謝了

21樓:

r = randi([imin,imax],m,n)在開區間(imin,imax)生成mxn型隨機

矩陣matlab中生成隨機數主要有三個函式:rand, randn,randi

1,rand 生成均勻分佈的偽隨機數。分佈在(0~1)之間

主要語法:rand(m,n)生成m行n列的均勻分佈的偽隨機數

rand(m,n,'double')生成指定精度的均勻分佈的偽隨機數,引數還可以是'single'

rand(randstream,m,n)利用指定的randstream(我理解為隨機種子)生成偽隨機數

2,randn 生成標準正態分佈的偽隨機數(均值為0,方差為1)

主要語法:和上面一樣

3, randi 生成均勻分佈的偽隨機整數

主要語法:randi(imax)在開區間(0,imax)生成均勻分佈的偽隨機整數

randi(imax,m,n)在開區間(0,imax)生成mxn型隨機矩陣

r = randi([imin,imax],m,n)在開區間(imin,imax)生成mxn型隨機矩陣

22樓:匿名使用者

2*rand-1

rand函式產生的是0到1之間的數

祝你學習愉快!

23樓:匿名使用者

a=-1;b=1;

r = a + (b-a).*rand(n,1)%其中n為你要產生數的個數

24樓:匿名使用者

randdata =2* rand(1,1)-1

在matlab中,怎麼生成高斯0-1分佈的隨機數的函式

25樓:匿名使用者

在sources裡有個random number

其實最簡單的直接用userdefined function自己定義即可。

____________________

matlab命令就是randn(m,n)生成m行n列均值為0方差為1的標準正回態分佈隨機數。

或者用命答令normrnd(mu,sigma,m,n)生成m行n列均值為mu標準差為sigma的正態分佈隨機數

還有我想說明一下,正態分佈(即高斯分佈)所生成的數的範圍是無窮大的,不可能只有0和1兩種結果,後者是二項分佈。

26樓:我行我素

高斯0-1分佈就是正態0-1隨機分佈。

在matlab中可用如下語句:

a=5;b=6;c=7;

a=randn(a);%生成正方矩陣

a=randn(a,b);%生成非正內方矩陣a=randn(a,b,c);%生成三容維矩陣

27樓:匿名使用者

用 randn(m,n)

即產生m行n列 服從標準正態分佈的數列

28樓:匿名使用者

用rand函式即可 如果不符合要求,你可以說明白點。

要是rand不會用可以help rand,看看用法

最常用的用法randn(m,n)產生m行n列的0-1分佈的隨機數。

29樓:楊凡穩

推薦http://zhidao.baidu.

***/link?url=gj6v4nlpael5ec3nm11lkq4t5vo0k-koqkhheaeps9__3crrkw_maj5f5twwq3v8eabwrzq-gtal600m3hlrrk

怎樣用matlab產生服從均勻分佈的一組隨機數

30樓:匿名使用者

用matlab的rand()和unidrnd()產生服從均勻分佈的一組隨機數

rand(m,n)產生m行n列的【0,1】均勻分佈隨機數

unidrnd(n,m,n)產生m行n列的數值小於n的【0,n】均勻分佈隨機數

matlab中如何將迴圈語句裡產生的向量放到矩陣裡

clear clcx zeros 10,10 for t 1 10 for m 1 10 x t,m t m endend a x a即為所求 標量的情況最簡單,如果是向量和矩陣 matlab,怎樣將每次迴圈中生成的值存在一個矩陣裡?要簡單的方法。1 第一步開啟matlab,命令列視窗輸入a 1 4...

在matlab中,矩陣a怎樣產生34的矩

repmat a,3,4 就是把a當做一個元素對其進行復制,複製成3行4列。如何在matlab中生成一個1,2,3,4.n的列向量?a 1 n這樣設定就可以抄了。具體步驟 bai 1 順序產生一個 1,2,3,4 的矩du陣zhi,那就直接a 1 4 就可dao以了。2 產生一個n m維的矩陣,矩陣...

matlab中怎樣在A集合中產生任意分佈的隨機數?求詳細程式,謝謝

function output getrandomdata x a 0,1,2,3,4,x,x 1,x 2,x 3,x 4,2 x 1,2 x 2,2 x 3,2 x 4,3 x 1,3 x 2,3 x 3,3 x 4,4 x 1,4 x 2,4 x 3,4 x 4 index randi size...