3个回答
2019-03-10
展开全部
matlab有一个sortrows(A,Dim)函数,是指按照矩阵A的某一列(Dim)进行排列,然后其余的列也相应跟着排序,就像excel 中按照某列排序并扩展选定区域一样。
你想要实现按行排序,只需将矩阵A转置后排序,再转置回来即可。如下:
A = [2 1 4 5; 1 2 3 4; 4 3 2 1];
也就是 A =
2 1 4 5
1 2 3 4
4 3 2 1
那么转置A' =
2 1 4
1 2 3
4 3 2
5 4 1
B = sortrows(A',1);
B =
1 2 3
2 1 4
4 3 2
5 4 1
再将B转置回来即对原来的A按行排序后的结果
C = B';
C =
1 2 4 5
2 1 3 4
3 4 2 1
展开全部
//#include "stdafx.h"//vc++6.0加上这一行.#include <iostream>using namespace std;int main(void){ double a[4][3]={{3,1,5},{0.3,0.5,0.1},{1,0,2},{0,1,1}},tmp; int i,j,k,l; for(i=0;i<3;i++){ for(k=i,j=k+1;j<3;j++) if(a[0][k]<a[0][j]) k=j; if(k!=i) for(l=0;l<4;l++){ tmp=a[l][k]; a[l][k]=a[l][i]; a[l][i]=tmp; } } for(i=0;i<4;i++){ for(j=0;j<3;cout << a[i][j++] << '\t'); cout << endl; } return 0;}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询