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...]),產生隨機陣列(感覺就是三維陣列,請看如下例子)。
2樓:南霸天
random格式:random(x);(註釋:x是個正整數)。
random功能:即可隨機產生0~x之間的一切整數。而且它是一個函式,不能單獨使用。
random舉例:
program exercise(input,output);
var i,a:longint;
begin
for i := 1 to 10 do
begin
a:=random(100);
write(a,' ');
end;
end.
3樓:匿名使用者
matlab中random函式——通用函式,求各分佈的隨機資料,其用法:
y = random('norm',a1,a2,a3,m,n)
式中:a1,a2,a3為分佈的引數,m,n用來指定隨機數的行和列,name的取值有相關的**來參照。
例:產生一個3行4列均值為2、標準差為0.3的正態分佈隨機數:
>>y =random('norm',2,0.3,3,4)
y =2.1613 2.2587 1.8699 2.8308
2.5502 2.0956 2.1028 1.5950
1.3223 1.6077 3.0735 2.9105
matlab中random函式的問題
4樓:匿名使用者
產生一個3行3列的隨機數矩陣。
隨機數服從0-10之間的均勻分佈 ,即x~u(0,10)。
matlab random函式 uniform引數 比如random('uniform',2,28,1,30)中個引數的含義是什麼
5樓:
random可以自帶引數,以滿足你所需要的概率分佈,比如:指數分佈,高斯分佈,柯西分佈等等。
而uniform則是均與分佈,引數也可寫成unif。根據均勻分佈的表示式,它的上下限是需要有個範圍的。這裡的下限是2,上限是28。
自變數x在[2,28]內取值。總計生成一個行向量。
在matlab中r = random('normal',0,1,2,4): 生成期望為 0,標準差為 1 的(2 行 4 列)2× 4 個正態隨機數
6樓:我行我素
r = random('normal',0,1,2,4)r =1.6949 -0.4789 -0.2871 -0.2937
-1.6471 -1.4904 0.1958 -1.0145
>> std2(r)
ans =
1.0619
從上面來
可以看出,
生成的自矩陣r的方差並不是1.
其實,在生成均值為0,方差為1的隨機數時,matlab要遵守一定的演算法,這個演算法保證在資料量非常大時,其均值為0,方差為1,但並不能保證資料量非常小時,計算其均值和方差也是0和1,如上題。再如
r=randn(1000);mean2(r),std2(r)ans =
-0.0023
ans =
0.9992
r=randn(2000);mean2(r),std2(r)ans =
-1.0444e-004
ans =
1.0001
7樓:匿名使用者
r = random('normal',0,1,2,4)確實是產生標準正態分佈,(2行4列)
但std2(r)通常不內會正好為容1,而是大約為1.
產生正態分佈是指你產生的這些點,是以正態分佈方式產生,而不是產生出來就完全服從正態分佈,但可以肯定基本服從正態分佈,也就是一定置信區間內符合正態分佈。
例如:r =
-0.6918 1.2540 -1.4410 -0.3999
0.8580 -1.5937 0.5711 0.6900
ans =
1.0886
接近1,但不是1.
換個容易理解的,你要產生0到1的均勻分佈(1行4列),如
>> rand(1,4)
ans =
0.8147 0.9058 0.1270 0.9134
很明顯的,你產生的4個數分佈不是均勻的等差分佈,但其產生的方式是0到1內均勻的,產生每個數的概率是相等的。
明白?至於random的功能,可以
>>help random
matlab中 rand和 randn的區別,請分別舉例。
8樓:歷史小店
主要區別
(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型隨機矩陣
9樓:
關鍵問題不是用法而是意義,rand是0-1的均勻分佈,randn是均值為0方差為1的正態分佈用法自己help rand或者help randn一下就知道了rand(n)或randn(n)生成n*n的隨機數矩陣rand(n,m)或randn(m,n)生成m*n的隨機數矩陣
10樓:匿名使用者
rand是平均分佈,即等概率分佈,等概率產生0-1範圍內的數
randn是標準正態分佈,均值為0,標準差為1
11樓: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型隨機矩陣
12樓:匿名使用者
前者是0到1的均勻分佈,後者是標準正態分佈
13樓:百慕大的小魚
randi(imax)在閉區間(0,imax)生成均勻分佈的偽隨機整數
randi(imax,m,n)在閉區間(0,imax)生成mxn型隨機矩陣
r = randi([imin,imax],m,n)在閉區間(imin,imax)生成mxn型隨機矩陣
matlab在一定範圍內生成隨機數
14樓:匿名使用者
rand([m n])產生 m行,n列(0,1)範圍內均勻分佈的偽隨機數
如果要求在區間(a,b)內產生均勻分佈的隨機數
r = a + (b-a).*rand([m n]));
matlab怎麼畫複數函式,matlab 中複數如何表示?我i前面已經有 就是表示不出來 不知到為什麼
我叫王土土豆 1 雙擊matlab軟體圖示,開啟matlab軟體,可以看到matlab軟體的介面。2 建立一個陣列u u 0 0.2 6 表示從0到6,每個0.2取一個數字。3 建立一個複數v,v 0.02 i。4 使用u和v建立一個複數函式z z exp v u 5 使用函式feather z 繪...
matlab傳遞函式問題,matlab中simulink傳遞函式的建模問題
給你我的一個我曾經編的超前校正的程式,可能有用 對於函式功能不懂的,可以使用help命令 function gc blead g,kc,dpm dpm 50 相位裕度 角度 包含5度的安全裕量 kc 1 設定開環增益 g tf 48e 3 48 1e 9 1e 6 2e 3 1 生成待校正系統傳遞函...
MATLAB中的DEBLANK函式
多瑙的萊茵 deblank函式是用來刪除字串中尾部空格的一個函式。在matlab中輸入help deblank就可以檢視其用法,在裡面都有詳細介紹。matlab處理字串的函式還有 strcmp 比較兩個字串是否完全相等,是,返回真,否則,返回假 strncmp 比較兩個字串前n個字元是否相等,是,返...