首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >按特定顺序对多列进行排序

按特定顺序对多列进行排序
EN

Stack Overflow用户
提问于 2013-07-11 22:33:47
回答 1查看 68关注 0票数 0

我有一个矩阵

代码语言:javascript
运行
复制
A = 1   1   1
    2   2   2
    3   3   3
    4   4   4 
    5   5   5

我有3个数组,其中包含我想要分别对各个列进行排序的顺序。第1列的示例I1,第2列的I2,....

代码语言:javascript
运行
复制
I1 = 5   I2 = 4   I3 = 3
     4        3        2 
     3        2        1
     2        1        5
     1        5        4

在对矩阵A进行排序后,我应该得到:-如果只使用I1对第一列进行排序

代码语言:javascript
运行
复制
A = 5   1   1
    4   2   2
    3   3   3
    2   4   4 
    1   5   5

如果仅使用I2对第二列进行排序

代码语言:javascript
运行
复制
A = 1   4   1
    2   3   2
    3   2   3
    4   1   4 
    5   5   5

如果仅使用I3对第3列进行排序

代码语言:javascript
运行
复制
A = 1   1   3
    2   2   2
    3   3   1
    4   4   5 
    5   5   4

如果仅使用I1、I2、I3对所有列进行排序

代码语言:javascript
运行
复制
A = 5   4   3
    4   3   2
    3   2   1
    2   1   5 
    1   5   4

请建议我怎么做。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-11 22:56:42

如果它们的尺寸都相同,这应该是您需要的:

代码语言:javascript
运行
复制
A([I1 I2 I3]);

如果要单独对列进行排序,可以使用以下语法:

代码语言:javascript
运行
复制
A(:,2)=A(I2,2);

或例如第2和3列:

代码语言:javascript
运行
复制
A(:,[2 3]) = [A(I2,2) A(I3,3)];
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17596223

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档