1樓:
思路就比較簡單:
隨機產生兩個數,取值範圍為[1,矩陣的列數],m,n隨機產生兩個數,取值範圍為[1,矩陣的行數],q,p剩下的就是利用下標交換咯。
t=x(m,q)
x(n,p)=x(m,q)
x(m,q)=t完成
2樓:酷呆愛死呆
>> a=rand(3,3)
a =0.7784 0.7750 0.
14820.3654 0.5752 0.
37280.8088 0.0887 0.
7809>> t=a(1,3);a(1,3)=a(3,3);a(3,3)=t;
>> a
a =0.7784 0.7750 0.
78090.3654 0.5752 0.
37280.8088 0.0887 0.
1482
3樓:匿名使用者
clcclear all
a= [1 1 1 -1 -1 -1 1 1 1 1
1 1 1 -1 1 -1 1 1 1 -1
1 -1 -1 1 1 1 1 1 1 1
1 -1 -1 1 -1 -1 1 -1 1 -1
-1 -1 1 -1 1 -1 1 1 -1 1
1 1 1 1 -1 1 1 1 1 -1
1 1 -1 -1 1 -1 1 1 1 1
1 1 1 -1 1 -1 1 1 -1 1
1 1 1 1 1 1 1 1 1 -1
-1 1 1 1 1 1 1 1 1 1]
random=rand(2,2);
random=random*10;
random=fix(random);
random=random+1
tmp=a(random(1,1),random(1,2));
a(random(1,1),random(1,2))=a(random(2,1),random(2,2));
a(random(2,1),random(2,2))=tmp;
disp(a);
4樓:匿名使用者
綜合以上答案
a=randint(2,2,[1 10])m=a(1,1);q=a(1,2)
n=a(2,1);p=a(2,2) %其實是不用那麼多變數啦 ,但是我懶,直接複製貼上樓大的 哈哈
剩下的就是利用下標交換咯。
t=x(m,q)
x(n,p)=x(m,q)
x(m,q)=t
完成 這算不算灌水啊
matlab中如何實現在資料矩陣中隨機取一個數,注意是一個數。解決問題了有補加分
5樓:匿名使用者
a=magic(5);
%a為資料矩陣,你改你的資料即可。
n=numel(a);
a(ceil(rand(1)*n))
6樓:匿名使用者
假設你的矩陣為a
[m,n]=size(a)%得到a的大小
k=m*n;%a中總的元素個數
a=a(ceil(rand()*k))%產生一個k以內的隨機正整數,取a的第k個數!
7樓:高則寶
隨機x,y然後取出來
matlab中從已知矩陣中隨機抽取5個元素如何實現.
8樓:用著追她
1、寫上註釋內容。
#怎樣從陣列中隨機抽取一個元素。
2、新建一個函式chouqu_array。
3、新建一個陣列。$shuzu3=array("litian","hunlun","xieyuxin","xiezi")。
4、使用array_rand函式來隨機抽取陣列中的一個元素。
5、將結果列印出來。print_r($chouqu);。
6、呼叫這個函式。chouqu_array();。
7、開啟瀏覽器進行測試,返回的是陣列的鍵值。
9樓:可靠的
可以用隨機數發生器 :)
具體如下:
data=randn(1000,1); %需要隨機提取資料的矩陣randnum=randperm(length(data)); %隨機產生矩陣位置
outdata=data(randnum(1:100)); %可隨機從data中提取100個資料
請問:matlab中怎麼從一個現有的矩陣中隨機抽取一個數?急啊!!!謝謝
10樓:酷呆愛死呆
>> 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 怎樣隨機訪問一個矩陣中的數
11樓:匿名使用者
參考例項如下:
>> a=[3 8 6 4 9];
>> b=randint(1,1,[1 5])%%a為矩陣,利用randint隨機產生其矩陣序號,然後代入序號,即可得到隨機抽取的元素;
b =5
>> a(b)
ans =9
12樓:森成鞠雨
先把矩陣中的那個元素找到
,如i(i,j)=a,a就是你想賦的值
如果你想給整個矩陣都隨機賦值
就是rand(i)
13樓:匿名使用者
a=zeros(4,5);
[m,n]=size(a);
q=randperm(m);%產生1-m的隨機排列p=randperm(n);%同上
a(q(1),p(2))%就隨便你用了
14樓:匿名使用者
假設a為矩陣,
n=size(a);
n=ceil(n*rand);
a(n) 隨機訪問矩陣第n個數
15樓:匿名使用者
比如所矩陣是a,6*6
idx=randperm(36);
a(idx)
在matlab中如何實現在一個矩陣中隨機選取一行
16樓:匿名使用者
n=randi(size(a,1));
b=a(n,:);
matlab 從一個矩陣中隨機抽取某些列組成新的矩陣
17樓:毛金龍醫生
使用a(m,n)可以提取矩陣
a中符合m,n要求的部分
最簡單是m,n都是標量,就是一個數例如版
a(1,1) a(2,3)分別返回a矩陣權1行1列的單元 和 2行3列的單元
m,n還可以是向量,例如
a([1 2 3 4],[2 3]) 返回 1 2 3 4行 2 3 列的資料
這裡還有通配的技巧,例如
a(1,:)就是返回a矩陣第一行的所有資料等效於a(1,1:end)或a(1,1:size(a,2))
m,n向量還可以是不連續的,不是單調的,或者有重複的,例如
a(1:2:end,:) a(2:2:end,:)分別提取矩陣a的奇數行和偶數行資料重新組成矩陣
matlab中怎樣隨機從一組資料中取一個數
18樓:匿名使用者
一句話bai的寫法可以
用:a=[23,44,52,99];
a(ceil(rand*4))
其實沒必要du過於糾zhi結用一句,先抽下標的dao做法回可讀性更好。
關於ceil(rand*4)抽樣的答均勻性,可以用下面語句很簡單地進行驗證:
hist(ceil(rand(1000000,1)*4))
19樓:匿名使用者
(randi(4,1,1)==(1:4))*[23 44 52 99]'
或者a=[23 44 52 99];
a(randi(end,1,1))
matlab中矩陣寫入的問題,matlab中矩陣寫入txt文件的問題
521煙雨曉曉 先新建一個命名tt.txt的文件,在建一個m檔案,把這些copy進去就ok了。a 1 2 3 4 5 b 6 7 8 9 0 fid fopen tt.txt wt i size a j size b m max i 2 j 2 for k 1 m if k i 2 fprintf ...
matlab 在一個矩陣中鑲嵌一個矩陣是什麼意思
樓主要注意,這裡有兩種情況 1.你提的問題裡,a 10會得到一個2 2的矩陣。但這個矩陣裡的元素不是數,而是邏輯值,0表示false,1表示true。所以你在a中嵌入這個邏輯矩陣,就會根據對應的邏輯值判斷是否該取那個元素。比如a 10得到 0,1 1,1 就知道除了第1個元素不取,其他元素都取,所以...
matlab如何把矩陣中不同的元素組成新陣列
b為資料來源矩陣,假設為一維 a ka 1 for kb 1 length b if kb滿足某條件或者b kb 元素滿足某條件 a ka b kb ka ka 1 endend 以上 中b也可以為2維的,完全一樣的 但結果a是一維的,刷選出來的有if條件決定 上述 效率可能不佳 人或b如果不是幾個...