1樓:噠噠噠噠你個頭
在來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、持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。
2樓:匿名使用者
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 中,怎麼讓一個矩陣按某一列排列,且行也跟著變動?
3樓:金星緯衣承
升序排列:
[~,i]=sort(a(:,5));%假如對第5列進行升序排列內a=a(i,:);%這樣排列就完成了
降序排列:容
[~,i]=sort(-a(:,2));%假如對第2列進行升序排列a=a(i,:);%這樣排列就完成了
希望我的回答能夠幫到你
matlab 中,怎麼讓一個矩陣按某一列排列,且行也跟著變動
4樓:匿名使用者
升序排列:
[~,i]=sort(a(:,5));%假如對第5列進行升序排列
內a=a(i,:);%這樣排列就完成容了
降序排列:
[~,i]=sort(-a(:,2));%假如對第2列進行升序排列a=a(i,:);%這樣排列就完成了
希望我的回答能夠幫到你
在matlab中,如何實現將一個矩陣按行或列進行隨機的重新排序?
5樓:匿名使用者
假設行數或列數為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怎麼把一個矩陣的列按某行元素的大小排列
6樓:不好好改就革
比如把a的每一列按照a的第一行元素大小排列。
[~,idx]=sort(a(1,:));
a=a(:,idx)
matlab 中,怎麼讓一個矩陣按某一列排列,且行也跟著變動
7樓:天天小布丁
你的意思是排序嗎?可以使用sortrows函式:
sortrows(a,k) 將矩陣a按第k列排序,每一行跟著變動
matlab中怎麼將mn矩陣變成mn維一列的
使用reshape x m,n 函式 reshape把指復定的矩制陣改變形狀,但是元素個數bai不變,例如,du行向zhi 量 a 1 2 3 4 5 6 執行下面語dao句把它變成3行2列 b reshape a,3,2 執行結果 b 1 4 2 53 6若a 1 2 3 4 5 6 7 8 9 ...
在matlab中怎麼求矩陣中大於某個數的元素個數,以及元素的總數
a 1 2 3 5 3 5 3 2 sum sum a 3 a,b size a a b 大於3 prod size a 3 一共 prod size a matlab裡,怎麼得到一個矩陣所含的元素個數 假設你的矩陣是a,維數你自己看著辦 length a 這個能得到你要的元素個數如果你要非重複的元...
請問Matlab中怎麼把一維陣列逆序排列,如將a
用 b fliplr a fliplr左右翻轉矩陣 語法 b fliplr a 將矩陣a的列繞垂直軸進行左右翻轉matabc如果a是一個行向量,fliplr a 將a中元素的順序進專行翻轉。如果a是一個列向量,fliplr a 還等於a。用 baib fliplr a fliplr左右翻轉矩陣 語法...