1樓:落水神
a=rand(100,50); %產生隨機矩陣b=reshape(a,[1,numel(a)]); %重新排列矩陣c=sort(b); %對矩陣進行升序排列d=c(20); %取倒數第20小的數e=a<=d %矩陣中若元素小於等於d,即為真即為1,否為0
e為你所求矩陣.
其了怪了,測試下,竟然執行速度比他快;
l1=clock;
tt1=cputime;
for i=1:1000
a=rand(100,50);
b=reshape(a,[1,numel(a)]);
c=sort(b);
d=c(20);
e=a<=d ;
endetime(clock,l1)
cputime-tt1
l2=clock;
tt2=cputime;
for i=1:1000
a=zeros(100,50);
idx=randperm(100*50);
a(idx(1:20))=1;
endetime(clock,l2)
cputime-tt2
結果:ans =
0.875000000000000
ans =
0.906250000000000
ans =
0.937000000000001
ans =
0.953125000000000
2樓:東吳小肥羊
方法如下:
a=zeros(100,50);
idx=randperm(100*50);
a(idx(1:20))=1;
如此即可。
3樓:匿名使用者
a=zeros(100,50);
idx=randperm(100*50);
a(idx(1:20))=1;
如何用matlab生成只含0,1值的隨機矩陣,要求限制1的數量
4樓:匿名使用者
%選擇函式
function a=xuanze(m,n)a=zeros();
for i=1:m
for j=1:n
a(i,j)=randperm(2,1)-1;
endend
end%測試抄函式
m=10;
n=5;
a=xuanze(m,n);
shu=sum(a(:));%判斷
bai1的數du量
while(shu>=20)
a=xuanze(m,n);
shu=sum(a(:));
enddisp('得到的隨機zhi
矩陣:');
adisp(['其中1的個數:dao']);shu
matlab 怎樣隨機訪問一個矩陣中的數
5樓:匿名使用者
參考例項如下:
>> a=[3 8 6 4 9];
>> b=randint(1,1,[1 5])%%a為矩陣,利用randint隨機產生其矩陣序號,然後代入序號,即可得到隨機抽取的元素;
b =5
>> a(b)
ans =9
6樓:森成鞠雨
先把矩陣中的那個元素找到
,如i(i,j)=a,a就是你想賦的值
如果你想給整個矩陣都隨機賦值
就是rand(i)
7樓:匿名使用者
a=zeros(4,5);
[m,n]=size(a);
q=randperm(m);%產生1-m的隨機排列p=randperm(n);%同上
a(q(1),p(2))%就隨便你用了
8樓:匿名使用者
假設a為矩陣,
n=size(a);
n=ceil(n*rand);
a(n) 隨機訪問矩陣第n個數
9樓:匿名使用者
比如所矩陣是a,6*6
idx=randperm(36);
a(idx)
matlab怎麼定義一個行數和列數確定的空矩陣?
10樓:本寶寶有人疼
在定義空矩陣的時候,就要用到zero函式進行定義了,zero定義是c語言上常用的定義。
空矩陣沒有大小,你往裡面裝多少就是多少。
如:>> m=m =
>> a=zeros(3);
>> m=a
m =0 0 0
0 0 0
0 0 0
zero定義的意義在於建立一個可以任我們新增東西的內容矩陣,當然我們要提前定義矩陣的大小。
11樓:束秋酈綺山
空矩陣沒有大小,你往裡面裝多少就是多少。
如:>>m=m=
>>a=zeros(3);
>>m=a
m=000
000000
matlab程式中如何在m檔案中定義m n級矩陣
a zeros m,n 就是一個全零的mxn的矩陣了 a ones m,n 就是一個全1的mxn矩陣。a rand m,n 就是一個隨機數的mxn矩陣還有很多專 如果你想要其他屬矩陣,可以用這幾個函式組合一下。比如我要全部為2.5的矩陣 a 2.5 ones m,n a zeros m,n 就是一個...
如何用matlab繪出函式Z1sqrt1x
clear all clc x,y meshgrid 0 0.1 1,0 0.1 1 z 1.sqrt 1 x bai2 y.2 1.sqrt 1 x 2 y.2 surfc x,y,z 結果見下圖。另外,三維圖類du型有很多,zhi上面的surfc可以換成plot3等等dao。最後建議不要用這回麼...
matlab已知三角形頂點座標,如何確定三角形內的點座標的
如果說是範圍的bai話應該是滿足du 與三角形三條邊直zhi線方程有關的不等式組dao專a x1,y1 b x2,y2 c x3,y3 組成三角形屬想知道某點 x,y 是否在三角型裡面 可以用matlab函式 in on inpolygon x,y,x1 x2 x3 y1 y2 y3 返回的in和o...