在matlab中,如何在已知矩陣中取隨機兩個數並交換??微急,求大神拯救

時間 2021-07-01 01:35:33

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如果不是幾個...