matlab中,怎麼讓矩陣按某一列排列,且行也跟著變動

2021-04-13 01:51:11 字數 1817 閱讀 2551

1樓:匿名使用者

升序排列:

[~,i]=sort(a(:,5));%假如對第5列進行升序排列

內a=a(i,:);%這樣排列就完成容了

降序排列:

[~,i]=sort(-a(:,2));%假如對第2列進行升序排列a=a(i,:);%這樣排列就完成了

希望我的回答能夠幫到你

matlab 中,怎麼讓一個矩陣按某一列排列,且行也跟著變動?

2樓:金星緯衣承

升序排列:

[~,i]=sort(a(:,5));%假如對第5列進行升序排列內a=a(i,:);%這樣排列就完成了

降序排列:容

[~,i]=sort(-a(:,2));%假如對第2列進行升序排列a=a(i,:);%這樣排列就完成了

希望我的回答能夠幫到你

在matlab中,如何實現將一個矩陣按行或列進行隨機的重新排序?

3樓:匿名使用者

假設行數或列數為n

vector = randperm(n);

vector是從1到n的整數隨機排列的向量按照vector裡各個元素的值重

新排列行列向量就可以了

假設待排列矩陣為m,排列後的矩陣為a

按列隨機排列

a = zeros(size(m));

for i=1:n

a(:,i)=m(:,vector(i));end

matlab 中,怎麼讓一個矩陣按某一列排列,並且行也跟著變動?

4樓:噠噠噠噠你個頭

在來matlab中讓矩陣按某一列排列,源

需要用到bai

排序演算法對某一du列資料排序,然後在排序算zhi法的if判斷句中,dao依次交換矩陣兩行內容。

以題目中矩陣為例,可以利用冒泡法對第三列資料排序,實現程式如下:

a=[5 7 8;4 6 1;8 0 7];

n=length(a);b=;

for i=1:n-1

for j=1:n-i

if(a(j,3)>a(j+1,3))

b=a(j,:);a(j,:)=a(j+1,:);a(j+1,:)=b;

endend

enddisp(a)

通過程式即可實現將程式按第三列排列。

擴充套件資料氣泡排序演算法原理:

1、比較相鄰的元素。如果第一個比第二個大,就交換他們兩個。

2、對每一對相鄰元素做同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。

3、針對所有的元素重複以上的步驟,除了最後一個。

4、持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。

5樓:匿名使用者

a=[5 7 8

4 6 1

8 0 7]

a =5 7 8

4 6 1

8 0 7

>> sortrows(a,3)

ans =

4 6 1

8 0 7

5 7 8

matlab怎麼把一個矩陣的列按某行元素的大小排列

6樓:不好好改就革

比如把a的每一列按照a的第一行元素大小排列。

[~,idx]=sort(a(1,:));

a=a(:,idx)

MATLAB如何提取某一矩陣的某一列的部分資料

使用baia m,n 可以提取矩 陣a中符合m,dun要求的部分 最簡單是zhim,n都是標量,就dao是一個數例版如 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 列的資料 總之ma...

matlab如何提取某一矩陣的某一列的部分資料

解決這個問題的bai方法如du下 1 第一步開啟matlab命令 zhi行視窗,輸入a 1 2 3 4 5 6 7 8 9 6 4 7 建立一dao個a矩陣 回。2 第二步答輸入a 1 2,1 3 進行提取a矩陣的第1,2行第1到3列。3 第三步按回車鍵之後,可以看到已經提取了a矩陣的第1,2行第1...

在matlab中怎麼把矩陣變成列向量

怎麼樣將行向量變成矩陣一個矩陣?可以用一個for迴圈語句來寫 a 123 4567 891011 12 這個相當於行向量 b zeros 4,3 這個相當於你申請一個空間,即m n的陣列fori 1 4 m行 forj 1 3 n列 b i,a 1 3 i 1 3 取每n個數作為一行存入b陣列 en...