1樓:網友
例子,10x10x10的矩陣,一共有1000個單元。
希望其中500個為1,500個為0
a=zeros(10,10,10); a是10x10x10全0矩陣。
b=randperm(1000); b是1~1000自然數隨機排列的矩陣。
a(b(1:500))=1; %取b的前500個數作為下標,將a中對應500個單元賦值為1
最後得到的a就是乙個10x10x10的矩陣,其中有500個0,和500個1,位置隨機。
matlab要建立乙個3×4隨機矩陣a,其元素為1到99範圍內的隨機整數,有哪些方法?
2樓:小菜鳥2無聊寫**
matlab建立乙個3×4隨機整數矩陣a,元素範圍為1到99,最常用的方法是rand函式。
a=floor(rand(3,4)*99)+1<>
其次,如果你需要整數不重複,可以使用randperm,**稍微多了一句:
a=randperm(99);
a=reshape(a(1:12),3,4)<>
如何用matlab產生一0、1隨機數列
3樓:惠企百科
1、首先啟動matlab,新建乙個函式檔案。
2、在彈出的視窗中輸入**。
3、儲存該函式,注意檔案命名要與函式名相同。
5、最後再命令列視窗中輸入命令,get01(m,n)就可以產生m行n列的隨機0-1矩陣了。
請問:怎樣用matlab隨機生成乙個只有0,1元素的矩陣?用什麼命令,謝謝啊!
4樓:信必鑫服務平臺
用rand函式生成元素均為0-1之間的隨機數的矩陣,然後逐個判斷,一下的改為0,以上的改為1:
a=rand(m,n);
for i=1:m
for j=1:n
if a(i,j)<=
a(i,j)=0;
elsea(i,j)=1;
endend
end<>
matlab矩陣基本的生成。
1、單位矩陣。
eye(n)生成n*n的單位矩陣。
eye(n,m)生成n*m的單位矩陣。
eye(size(b))生成與b同樣大小的單位矩陣。
2、全1矩陣。
ones(n)
ones(n,m)
ones(size(a))
ones(1,2)生成一行兩列的全一矩陣。
與1類似。3、全0矩陣。
用法同24、隨機數矩陣。
rand(n)生成n*n隨機方陣,其他類似於2
5、randn
生成元素為正態分佈隨機數的矩陣,用法同4
6、線性間隔向量的生成。
logspace(a,b)生成由50個10^a 到10^b之間的對數間隔點組成的行向量。
logspace(a,b,n)生成由n個10^a 到10^b之間的對數間隔點組成的行向量。
logspace(a,pi)生成由n個10^a 到pi之間的對數間隔點組成的行向量`
7、分塊對角矩陣。
blkdiag(a,b,c)生成由a,b,c構成的分塊對焦矩陣。
8、連線矩陣。
cat(d,a,b,c)生成由a,b,c組成的d維矩陣。
9、對角矩陣。
diag10、左右調換。
fliplr(a)把a矩陣左右調換。
flipud(a)上下調換。
rot90(b)把b逆時針旋轉90度。
11、生成下三角矩陣。
tril(b)生成矩陣b的下三角矩陣。
tirl(b,k)生成b的第k條對角線的下三角矩陣。
k=0時二者作用相同。
triu則是上三角。
12、生成伴隨矩陣。
compan(a)
13、生成魔方矩陣。
magic(n)
matlab中如何產生n個隨機數,和為定值m
5樓:惠企百科
1、首先在電腦中,找到並開啟matlab軟體,二項分佈隨機數的產生。
2、接著輸入二項分佈隨機數x~b(n,p),n為發生次數,p為發生概率,如下圖所示。
3、然後輸入泊松分佈,引數為p,如下圖所示。
4、接著輸入指數分佈,引數為λ,如下圖所示。
5、最後正態分佈,x~n(μ,2),如下圖所示,就完成了。
請問:怎樣用matlab隨機生成乙個只有0,1元素的矩陣?用什麼命令,謝謝啊!
6樓:丿
編寫rand_binarymatrix函式,**如下:
function [ binarymatrix ] = rand_binarymatrix( i, j )
隨機生成i行j列的0和1元素填充的矩陣。
binarymatrix = rand(i,j);
for count_i = 1:i
for count_j = 1:j
if binarymatrix(count_i, count_j) <
binarymatrix(count_i, count_j) = 0;
elsebinarymatrix(count_i, count_j) = 1;
endend
endend
在命令列視窗中,(假設要輸入4行7列的填充的矩陣)令i=4,j=7,輸入**:
rand_binarymatrix(4,7)
回車即可。擴充套件資料
在matlab中,rand用於生成0~1之間均勻分佈的偽隨機數,randn用於生成均值為0、方差為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...產生隨機陣列。
7樓:mango菌吃橙子
沒聽說過有直接生成的方法。
可以這樣子,比如要生成m*n的矩陣,先用。
回rand函式生成元素均為答0-1之間的隨機數的矩陣,然後逐個判斷,一下的改為0,以上的改為1:
a=rand(m,n);
for i=1:m
for j=1:n
if a(i,j)<=
a(i,j)=0;
elsea(i,j)=1;
endendend
8樓:姒秀愛庹香
樓上的方復法有問題,產生制的是0,-1,1的隨機矩陣,不是-1和1應該改成:
clear;
clc;a=randint(3,2);
產生由0和1組成的,m*n維隨機矩陣。
a(find(a==0))=-1;
轉換成-1和1的矩陣。
9樓:
用rand生成0-1之間隨機數,再使用round函式四捨五入取整round函式取整的意義為回:對陣列中每個元素答朝最近的方向取整數部分。
matlab code
a=rand(m,n);%生成m*n維矩陣,矩陣為0-1之間的隨機數a=round(a);%矩陣a中小於的數返回0,大於的數返回1
10樓:珂珂的失樂園
這個好簡單,只需要兩條命令。
a=rand(10)
b=round(a)
11樓:義狼
round(rand(m,n)) 即可產生m行n列的矩陣。
如:round(rand(4,5))
12樓:網友
randint(4,5)%生成4行5列0-1隨機矩陣。
13樓:網友
沒聽說過有直接生成的。
可以這樣子,比如要生成m*n的矩陣,先用rand函式生成元素均為0-1之間的隨機數的矩陣,然後逐個判斷,一下的改為0,以上的改為1:
a=rand(m,n);
for i=1:m
for j=1:n
if a(i,j)<=
a(i,j)=0;
elsea(i,j)=1;
endendend
如何用matlab產生一0、1隨機數列
14樓:潮潮
1、我們先在電腦上找到matlab,點選開啟,如下。
2、點選輸入r = rand(n),因為最常用的隨機數生成**是r = rand(n),這樣子生成的是n×n的隨機數,都是0到1的數字。
3、然後,點選回車鍵,就可以看到生成的隨機數了,如下圖所示,在這裡,n等於10。
4、如果只想生成乙個隨機數,將n改為1,然後再執行就可以了,如下,即產生了隨機數列。
15樓:我的j**a筆記
1、在matlab主視窗中輸入round(rand(1,10)*5) 回車。
2、命令 round(rand(1,1)*5) 回車。
3、在matlab主視窗中輸入round(rand(1,10)*9)-5 回車,可以看到生成的隨機數列。
4、或者在主視窗中輸入 randint(1,1,[5 9])回車。
5、在主視窗中輸入 randint(1,10,[10 20]) 回車。
6、在主視窗中輸入 randint(1,10,[-7 15]) 回車,也可以看到生成的隨機數列。
16樓:精品diy生活
一,matlab中生成隨機數主要有三個函式:rand, randn,randi
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型隨機矩陣。
示例驗證:均值分佈。
概率分佈圖:
y=rand(1,3000000);
hist(y,2000);
散點圖:y=rand(1,3000000);
plot(y)
二、正常情況下每次呼叫相同指令例如rand生成的偽隨機數是不同的,例如:rand(1,3)
rand(1,3)
matlab的輸出為:
ans =ans =
17樓:網友
你沒說要不要輸出整數。沒必要是整數的話就是「rand(1,8)」;如果是整數才用randi([0,1],1,8)
matlab怎麼生成0到1的隨機數
18樓:硪丨曖戀
在matlab 中產生0-1上均勻分佈的隨機數方法如下:
方法1、對於問題,如果 y 是m*n的服從0~1均勻分佈的隨機矩陣:
y = rand(m,n);
方法2、用統計工具箱,y = unifrnd(0,1,m,n).
另外,提供常用的函式分佈供參考:
1、 均勻分佈u(a,b)
產生m*n階[a,b]均勻分佈u(a,b)的隨機數矩陣:unifrnd (a,b,m, n)
1分佈u(0,1)
產生m*n階[0,1]均勻分佈的隨機數矩陣:rand (m, n)
3、二類分佈binornd(n,p,mm,nn),即產生mm*nn均值為n*p的矩陣。
4、產生m*n階離散均勻分佈的隨機數矩陣:
unidrnd(n,mm,nn) 產生乙個數值在1-n區間的mm*nn矩陣;
5、產生mm nn階期望值為 的指數分佈的隨機數矩陣:exprnd ( mm, nn).
怎樣用MATLAB畫函式y 1 x 2 10 10 x 9的圖形?急啊
擬合引數,採用多元線性迴歸,程式如下 clear clc x 0.064 0.068 0.072 0.074 0.078 0.082 0.09 0.0961 0.1153 0.13 0.21 0.4 0.6 0.8 1 y 7.5 5 2.5 0 2.5 5 7.5 8.75 8.75 7.5 5 ...
matlab怎樣給第乙個矩陣1號位置賦值,第二個矩陣2號位置賦值?
matlab怎樣給第乙個矩陣號位置賦值,第二個矩陣號位置賦值?有時候我們使用matlab進行運算的時候,想給矩陣進行賦值,怎麼賦值呢,下面來分享一下方法。工具原料matlab給矩陣賦值的幾種方法。方法 步驟分步閱讀。第一步可以通過zeros函式進行賦值,輸入a zeros , 生成了乙個全矩陣,如下...
怎樣用成語形容人做事沒有原則,怎樣用一個成語形容一個人做事沒有原則
好好先生 bai 金山詞霸 拼 音 duh o h o xi n sh ng 解 釋 zhi 指不堅持原則 對誰也不敢dao或不願得罪的人內.出 處 容 元 無名氏 水仙子 冬 曲 只不如胡盧兄弟每日相逐趁 到能夠吃肥羊飲巨觥 得便宜是好好先生.八面玲瓏,逢迎拍馬,啊迂奉承 人云亦云,朝秦暮楚,飄忽...