在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中輸入有規律的大矩陣

clear clcn 4 n 4 n n x n 矩陣 l 2 2 ones 1,n l10 repmat 1 1 1 0 1,n l10 end l1 ones 1,n 4 結果 l diag l1,4 diag l10,1 diag l 2 l l l clear,close all a zer...

matlab矩陣求平均值,在matlab中 怎麼計算平均值

1111我我我 用mean a,1 或者mean a,2 函式求矩陣a均值,再用cumsum函式可以累加。具體 如下 a rand 3 a mean a,1 按列平均 b mean a,2 按行平均 c mean a 全部平均 a 0.8134 0.8940 0.28760.7185 0.9507 ...

如何在matlab中呼叫matlab中已有的函式

呼叫函式檔案 myfile.m clear clcfor t 1 10 y mylfg t end 自定義函式檔案 mylfg.m function y mylfg x 注意 函式名 mylfg 必須與檔名 mylfg.m 一致 y x 1 3 注 這種方法要求自定義函式必須單獨寫一個m檔案,不能與...