網站首頁 學習教育 IT科技 金融知識 旅遊規劃 生活小知識 家鄉美食 養生小知識 健身運動 美容百科 遊戲知識 綜合知識
當前位置:趣知科普吧 > IT科技 > 

matlab怎麼生成隨機矩陣

欄目: IT科技 / 發佈於: / 人氣:1.04W

(1) rand:產生均值爲0.5、幅度在0~1之間的僞隨機數 (2) randn:產生均值爲0、方差爲1的高斯白噪聲 (3) randperm(n):產生1到n的均勻分佈隨機序列 (4) normrnd(a,b,c,d):產生均值爲a、方差爲b大小爲cXd的隨機矩陣

在MATLAB中,我們常常會用到一些隨機數據,那麼這些數據是怎麼生成的呢?下面一起來看一看

方法

unifrnd (a,b) ;產生一個[a,b]的均勻隨機數

用rand函數生成元素均爲0-1之間的隨機數的矩陣,然後逐個判斷,0.5一下的改爲0,0.5以上的改爲1: A=rand(m,n); for i=1:m for j=1:n if A(i,j)

matlab怎麼生成隨機矩陣

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

生成n個uniform(0,1)隨機數x,然後計算乘積A=xx',A是一個n*n矩陣。 兩個獨立隨機數的乘積的期望是1/4,(雖然可能不再是uniform分佈了)。 那麼取G=(A>1/4),G就會是一個對稱的矩陣。 如果需要,對角線上的乘積期望不是1/4,可以特殊處理一下。

matlab怎麼生成隨機矩陣 第2張

binornd(n,p,[M,N,P,...])產生的是服從二項分佈的隨機數,二項分佈的參數爲:n和p

刪除多餘變量矩陣 直接ctrl+s 就能儲存當前工作區下的變量矩陣 也有函數save 用於儲存 上面第一種方法比較簡單 且方便 save函數 語言設定一些參數 具體的偏好設定記得不是很清楚了 但也是比較簡單的 可以help 一下進行了解 非常簡單 不知道你問

matlab怎麼生成隨機矩陣 第3張

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

在matlab中“建立5*6的隨機矩陣,其元素爲【100,200】範圍內的隨機整數”透過random函數來進行實現。 matlab中random函數用法爲:y=random('norm',A1,A2,A3,m,n)。式中:A1,A2,A3爲分佈的參數,m,n用來指定隨機數的行和列,name的取值有相關的

matlab怎麼生成隨機矩陣 第4張

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

1、首先啓動matlab,啓動介面如圖所示。 2、在命令行視窗中輸入代碼:[0:0.1:1]。 3、點擊回車,可以看到結果從0開始每次增加0.1到1結束。 4、賦予變量x從0到1等值增大的值。在命令行視窗中輸入代碼:x=[0:0.1:1]。 5、點擊回車後便會顯示出x變

matlab怎麼生成隨機矩陣 第5張

擴展閱讀,以下內容您可能還感興趣。

怎樣用MATLAB生成一個4行5列的間的隨機矩陣

rand(4,5) % 四行五列(0,1)之間的隨機矩陣

% 如果範圍不在0-1之間,可以相應調整

ceil(rand(4,5)*10) % [1,10]之間隨機整數

matlab 隨機生成每列只有一個1 其餘爲0的矩陣

m=10;%行數

n=15;%列數

A=zeros(m,n); %生成全零矩陣

b=randi(m,[1 n]); %生成n個從1到m的隨機整數

ind=sub2ind([m,n],b,1:n);%形成位置

A(ind)=1;%將對應位置變爲1

matlab中怎麼隨機生成一個M*N矩陣,使每列和爲一固定值,每個元素爲整數?

% function num=randn(min_n,max_n,m,n)

%思路:

%對於某一列,先產生該列第一個隨機數a,其範圍爲[min_n,max_n]

%然後產生該列第二個隨機數b,其範圍爲[min_n,max_n-a]

%之後產生該列第三個隨機數c,其範圍爲[min_n,max_n-a-b]

%終止條件爲max_n-a-b<=min_n

min_n=2;%最小值

max_n=100;%最大值

m=5;%行數,注:行數不宜大,否則0元素過多

n=30;%列數

num=zeros(m,n);%初始化

for i=1:n

for j=1:m

if round(max_n-sum(num(1:j,i)))>min_n%隨機數產生的終止條件

num(j,i)=floor(min_n+(max_n-sum(num(1:j,i)))*rand);%產生隨機數

end

end

end追問有點問題,就是每列最後一個應爲總數減前面總數的差,加一句

num(m,i)=max-sum(num(1:m-1,i));%每列最後元素爲剩下的個數

就行了,還是謝謝提供思路。追答嗯 不好意思我遺漏了 難怪會那麼多0 嘿嘿

MATLAB 隨機產生一個矩陣序列

生成一個元素爲0-11之間的M*N維矩陣,這裏以M=6,N=9爲例,在MATLAB主視窗中輸入R=round(11*rand(6,9)),回車。更多追問追答追問要隨時監控矩陣中的每一個元素呢,這個怎麼解決呢追答你是要監控矩陣中數據的變化還是其它類型的監控?追問這麼說吧,希望能夠提取第k個矩陣的某一個分量,小白求指教

matlab如何生成滿足一定條件數要求的隨機矩陣。

你可以先構造特徵值,使得最大特徵值除以最小特徵值爲1000,再隨機的生成正交矩陣作爲特徵向量矩陣,從而重構出所要的矩陣。如下所示,構造了個3*3的矩陣,其條件數爲1000:

>> V = diag([1000 20 1]); % 只要最大除最小等於1000即可

>> U = orth(randn(3, 3));

>> A = U*V*U^-1;

>> cond(A)

ans =

1000.0000

下次問編程類問題選擇問題分類爲編程吧,這樣可以貼代碼。