matlab隨機函式怎麼取,matlab中怎樣隨機從一組資料中取一個數

2021-07-01 01:33:54 字數 1470 閱讀 6523

1樓:淚之夢幻

如果是要要均勻分佈,可以使用語句rand(1)*0.8+0.1;

matlab中的rand函式(用於產生隨機數)

均勻分佈的隨機數或矩陣

語法y = rand(n)

y = rand(m,n)

y = rand([m n])

y = rand(m,n,p,...)

y = rand([m n p...])

y = rand(size(a))

rand

s = rand('state')

描述rand函式產生由在(0, 1)之間均勻分佈的隨機陣列成的陣列。

y = rand(n) 返回一個n x n的隨機矩陣。如果n不是數量,則返回錯誤資訊。

y = rand(m,n) 或 y = rand([m n]) 返回一個m x n的隨機矩陣。

y = rand(m,n,p,...) 或 y = rand([m n p...]) 產生隨機陣列。

y = rand(size(a)) 返回一個和a有相同尺寸的隨機矩陣。

1,rand(3)*-2 rand(3)是一個3*3的隨機矩陣(數值範圍在0~1之間)

然後就是每個數乘上-2

2 ,用matlab隨機產生60個1到365之間的正數 1+fix(365*rand(1,60));

3,用rand函式隨機取100個從-1到1的數x1,x2,...,x = rand(1,100) * 2 - 1

2樓:匿名使用者

要什麼分佈的?

要均勻分佈的用rand(1)*0.8+0.1;

matlab中怎樣隨機從一組資料中取一個數

3樓:匿名使用者

一句話bai的寫法可以

用:a=[23,44,52,99];

a(ceil(rand*4))

其實沒必要du過於糾zhi結用一句,先抽下標的dao做法回可讀性更好。

關於ceil(rand*4)抽樣的答均勻性,可以用下面語句很簡單地進行驗證:

hist(ceil(rand(1000000,1)*4))

4樓:匿名使用者

(randi(4,1,1)==(1:4))*[23 44 52 99]'

或者a=[23 44 52 99];

a(randi(end,1,1))

請問:matlab中怎麼從一個現有的矩陣中隨機抽取一個數?急啊!!!謝謝

5樓:酷呆愛死呆

>> a=[3 8 6 4 9];

>> b=randint(1,1,[1 5])%%a為矩陣,來利用randint隨機產生其自矩陣序號,然bai後代入序

du號,即可得zhi到隨機抽取的元

dao素

b =5

>> a(b)

ans =9

matlab中矩陣隨機取幾個元素賦值

首先確定矩陣的行數和列數 用rand函式生成隨機數,與行數相乘取整得m 再次版生成隨機數,與列數相乘取整得n 對權m行n列賦值,如果要求所賦的值也是隨機的,那就用rand生成如此迴圈,如果取的元素個數要求隨機,那麼就用rand生成一個數與矩陣總數相乘得迴圈次數 a rand 10,10 b a in...

matlab陣列輸出,matlab函式怎麼輸出陣列

在matlab中要將大規模的矩陣寫入到txt文字中,可以用檔案讀寫的方法,如下例 fid fopen d data.txt wt 寫入檔案路徑 m,n size p 獲取矩陣的大小,p為要輸出的矩陣 for i 1 1 m if mod i,100 0 fprintf fid,water levle...

怎麼在matlab中執行c程式,怎麼在matlab中呼叫用c語言編寫的程式?

1.準備好c語言程式,清楚c語言的入口函式 2.編寫mexfunction函式。mexfunction函式為c語言與matlab語言的介面函式。呼叫例項在mylinedetect.c檔案中.在matlab中呼叫mex指令編譯相關檔案,將c語言編譯為mex檔案。3.編譯完成後,生成mylinedete...