MATLAB:按条件排序矩阵

时间:2012-10-12 13:20:36

标签: matlab sorting matrix

我想对3X3矩阵进行排序:

mat =
    129    14     20
    42     51     79
    66     105    27

我希望第一行是第一行比第二行和第三行更高的行。 第二行将是第二行元素高于其行中第一个和第三个元素的行。 第三行将是第二行元素高于其行中第一个和第二个元素的行。

例如,结果是:

mat =
    129    14    20      (because 129 > 14 and 129 > 20)
    66     105   27      (105 > 66 and 105 > 27)
    42     51    79      (79 > 51 and 79 > 42)

我知道我可以传递矩阵的元素并执行此操作,但函数'sort'是否包含有助于我的内容?

1 个答案:

答案 0 :(得分:2)

mat = [ 129    14     20
         42    51     79
         66   105    27];

[Y,I] = max(mat, [], 2);

mat = mat(I, :)