首頁  >  文章  >  電腦教學  >  使用matlab產生一個介於0到1之間的隨機小數

使用matlab產生一個介於0到1之間的隨機小數

WBOY
WBOY轉載
2024-01-23 15:36:061065瀏覽

如何用matlab產生0到1之間的隨機小數

MATLAB 函數 rand

產生在區間 (0, 1)的均勻隨機數,它是平均分佈在

在(0,1)之間,我們可以使用一個稱為seed的值來控制產生隨機數的次數。均勻隨機數函數有兩種語法形式:rand(n)和rand(m,n)。其中,rand(n)會產生一個包含n*n個隨機數的矩陣,而rand(m,n)會產生一個包含m*n個隨機數的矩陣。需要注意的是,每次產生的隨機數值都是不同的,這些值代表隨機且不可預測的結果,這也是我們使用隨機數的目的。我們可以利用這些隨機數來表示某段訊號的不規則振幅或是某個事件發生的機率。均勻隨機數具有將數值平均分佈在一個區間的特性,此特性可以從其統計密度函數(probability density function)中看出。

PDF分佈類似長條圖的分佈,說明了每個隨機數值出現的機率相同,因此被稱為均勻隨機數(function, PDF)。

試試看 help rand

matlab中如何產生N個隨機數字和為定值M

實作方法:首先使用rand()函數產生N個隨機數,假設此時N個隨機數的和是S,那麼將每個隨機數變成原來的M/S倍,這樣就實現N個隨機數的和是定值M的效果了。

A = rand(1,N); S = sum(A); B = A*M/S;

下面進行實例示範和詳細講解:產生9個和為定值10的隨機數。

1、開啟matlab軟體,在指令視窗輸入:A = rand(1,9),表示產生9個0~1之間的隨機數,輸出如下:

使用matlab產生一個介於0到1之間的隨機小數

#2、繼續輸入:S = sum(A); B = A*10/S ,表示將每個隨機數變成原來的10/sum(A)倍,此時的陣列B即為所。輸出結果如下:

使用matlab產生一個介於0到1之間的隨機小數

#3、為了驗證一下得到的陣列B的和是否為定值10,在命令視窗輸入:sum(B),結果如下:

使用matlab產生一個介於0到1之間的隨機小數

#

如何用matlab產生隨機數函數

rand(n):產生0到1之間的n階隨機數方陣 rand(m,n):產生0到1之間的m*n的隨機數矩陣 (現成的函數)

另外:

Matlab隨機數產生函數

betarnd 貝塔分佈的隨機數產生器

binornd 二項分佈的隨機數產生器

chi2rnd 卡方分佈的隨機數產生器

exprnd 指數分佈的隨機數產生器

frnd f分佈的隨機數產生器

gamrnd 伽瑪分佈的隨機數產生器

geornd 幾何分佈的隨機數產生器

hygernd 超幾何分佈的隨機數產生器

lognrnd 對數常態分佈的隨機數產生器

nbinrnd 負二項分佈的隨機數產生器

ncfrnd 非中心f分佈的隨機數產生器

nctrnd 非中心t分佈的隨機數產生器

ncx2rnd 非中心卡方分佈的隨機數產生器

normrnd 常態(高斯)分佈的隨機數產生器

poissrnd 泊松分佈的隨機數產生器

raylrnd 瑞利分佈的隨機數產生器

trnd 學生氏t分佈的隨機數產生器

unidrnd 離散均勻分佈的隨機數產生器

unifrnd 連續均勻分佈的隨機數產生器

weibrnd 威布爾分佈的隨機數產生器

以上是使用matlab產生一個介於0到1之間的隨機小數的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:docexcel.net。如有侵權,請聯絡admin@php.cn刪除