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...