1樓:歷史小店
主要區別
(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型隨機矩陣
2樓:
關鍵問題不是用法而是意義,rand是0-1的均勻分佈,randn是均值為0方差為1的正態分佈用法自己help rand或者help randn一下就知道了rand(n)或randn(n)生成n*n的隨機數矩陣rand(n,m)或randn(m,n)生成m*n的隨機數矩陣
3樓:匿名使用者
rand是平均分佈,即等概率分佈,等概率產生0-1範圍內的數
randn是標準正態分佈,均值為0,標準差為1
4樓:shine戚七七
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型隨機矩陣
5樓:匿名使用者
前者是0到1的均勻分佈,後者是標準正態分佈
6樓:百慕大的小魚
randi(imax)在閉區間(0,imax)生成均勻分佈的偽隨機整數
randi(imax,m,n)在閉區間(0,imax)生成mxn型隨機矩陣
r = randi([imin,imax],m,n)在閉區間(imin,imax)生成mxn型隨機矩陣
matlab中rand和randn分別是什麼函式?
7樓:子衿悠你心
在matlab中,rand是0-1的均勻隨機分佈,而randn是均值為0方差為1的正態分佈。
舉個例子:x = rand 產生一個在(0,1)區間內的隨機數。
x = rand(n)或x = randn(n)產生一個n*n的隨機變數矩陣。
x = rand(m,n)或x = randn(m,n)產生一個m*n的隨機變數矩陣。
可以通過查閱matlab中的help來得到rand和randn更詳細的用法。
8樓:文件類共創空間
rand是0-1的均勻分佈,randn是均值為0方差為1的正態分佈;
rand(n)或randn(n)生成n*n的隨機數矩陣。
rand(n,m)或randn(m,n)生成m*n的隨機數矩陣。
9樓:橙子小可樂樂
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型隨機矩陣
10樓:憤進青年
rand是0-1隨機的
randn是正態分佈
採納哦 親
11樓:闊哥的寶貝
我沒有辦法明確回答您的問題,您的問題闡述的不清楚。
12樓:法瓊音
matlab裡的rand函式和randn函式都是隨機數生成函式。
rand函式,生成區間(0,1)上均勻分佈的隨機矩陣。rand函式格式:
r=rand(m,n) % 生成m行,n列服從均勻分佈(0,1)的隨機矩陣
randn函式,生成標準正態分佈n(0,1)的隨機矩陣。randn函式格式:
r=randn(m,n) % 生成m行,n列服從標準正態分佈n(0,1)的隨機矩陣
matlab裡的rand函式和randn函式用法有什麼區別?分別怎麼用?
13樓:匿名使用者
關鍵問題不是用法而是意義,rand是0-1的均勻分佈,randn是均值為0方差為1的正態分佈
用法自己help rand或者help randn一下就知道了rand(n)或randn(n)生成n*n的隨機數矩陣rand(n,m)或randn(m,n)生成m*n的隨機數矩陣
matlab中x=rand(1,8)是什麼意思?
14樓:開心地的春天
一、理論準備
matlab函式randn:產生均值為0,方差 σ^2 = 1,標準差σ = 1的正態分佈的隨機數或矩陣的函式。
用法:y = randn(n),返回一個n*n的隨機項的矩陣。如果n不是個數量,將返回錯誤資訊。
y = randn(m,n) 或 y = randn([m n]),返回一個m*n的隨機項矩陣。
y = randn(m,n,p,...) 或 y = randn([m n p...]),產生隨機陣列(感覺就是三維陣列,請看如下例子)。
1: >> rand(1,2,3)
2: ans(:,:,1) =
3: 0.445586200710899 0.646313010111265
4: ans(:,:,2) =
5: 0.709364830858073 0.754686681982361
6: ans(:,:,3) =
7: 0.276025076998578 0.679702676853675
y = randn(size(a)),返回一個和a有同樣維數大小的隨機陣列。
randn
s = randn('state'),估計和c++裡初始化隨機種子一個意思,隨便了。
二、舉例分析
產生一個隨機分佈的指定均值和方差的矩陣:將randn產生的結果乘以標準差,然後加上期望均值即可。例如,產生均值為0.6,方差為0.1的一個5*5的隨機數方式如下:
1: x = .6 + sqrt(0.1) * randn(5)
其他類似函式:rand, randperm, sprand, sprandn
三、拓展
用matlab隨機產生60個1到365之間的正數 1+fix(365*rand(1,60)),fix就是取整函式。
用rand函式隨機取100個從-1到1(原來寫成了2)的數x1,x2,...,x = rand(1,100) * 2 - 1。
逗號表示行,分號表示列。
matlab中rand函式的用途。
15樓:小丁創業
matlab中rand函式的用途是:matlab rand函式能產[01]間隨機數,由種子遞推出來,而種子在程式初始時候都一樣。例如和時間相關的隨機數,如rand('state',sum(100*clock))。
rand函式不是真正的隨機數生成器,而srand()會設定供rand()使用的隨機數種子。如果在第一次呼叫rand()之前沒有呼叫srand(),那麼系統會為程式設計師自動呼叫srand()。
而使用同種子相同的數呼叫 rand()會導致相同的隨機數序列被生成。
16樓:懂點工程也要懂點生活
matlab中rand()函式用法:
一、理論準備
matlab函式randn:產生均值為0,方差 σ^2 = 1,標準差σ = 1的正態分佈的隨機數或矩陣的函式。
用法:y = randn(n),返回一個n*n的隨機項的矩陣。如果n不是個數量,將返回錯誤資訊。
y = randn(m,n) 或 y = randn([m n]),返回一個m*n的隨機項矩陣。
y = randn(m,n,p,...) 或 y = randn([m n p...]),產生隨機陣列(感覺就是三維陣列,請看如下例子)。
1: >> rand(1,2,3)
2: ans(:,:,1) =
3: 0.445586200710899 0.646313010111265
4: ans(:,:,2) =
5: 0.709364830858073 0.754686681982361
6: ans(:,:,3) =
7: 0.276025076998578 0.679702676853675
y = randn(size(a)),返回一個和a有同樣維數大小的隨機陣列。
randn
s = randn('state'),估計和c++裡初始化隨機種子一個意思,隨便了。
二、舉例分析
產生一個隨機分佈的指定均值和方差的矩陣:將randn產生的結果乘以標準差,然後加上期望均值即可。例如,產生均值為0.6,方差為0.1的一個5*5的隨機數方式如下:
1: x = .6 + sqrt(0.1) * randn(5)
其他類似函式:rand, randperm, sprand, sprandn
三、拓展
用matlab隨機產生60個1到365之間的正數 1+fix(365*rand(1,60)),fix就是取整函式。
用rand函式隨機取100個從-1到2的數x1,x2,...,x = rand(1,100) * 2 - 1。
逗號表示行,分號表示列。
四、參考資料:
c 中rand 函式的範圍,c 中rand 函式的範圍
rand函式範圍 在某些平臺下 例如 windows rand max 只有 32768。如果需要的範圍大於 32768,那麼指定 min 和 max 引數就可以生成大於 rand max 的數了,或者考慮用 mt rand 來替代它。rand函式不是真正的隨機數生成器,而srand 會設定供ran...
matlab中fprintf和disp的有多大的區別啊
大野瘦子 區別很大,具體如下 一 輸出的目標不一樣 disp用來直接顯示在命令列裡,非常輕量,fprintf是f ile printf ormat 可以用來直接進行檔案的寫入,如果不指定檔案的fid那麼直接輸出到命令列。二 用法不同 disp即display,可用來顯示字串 計算結果等。例子 x 1...
如何在matlab中呼叫matlab中已有的函式
呼叫函式檔案 myfile.m clear clcfor t 1 10 y mylfg t end 自定義函式檔案 mylfg.m function y mylfg x 注意 函式名 mylfg 必須與檔名 mylfg.m 一致 y x 1 3 注 這種方法要求自定義函式必須單獨寫一個m檔案,不能與...