在Matlab中排序2d矩阵

时间:2014-03-26 14:55:57

标签: matlab matrix

我有一个2d矩阵,第一列是数字,第二列是字符串,第三列是字符串,我想按第一列排序。这是我用来创建循环的代码。

由于

for i = 1:length(queries)
    for j = 1:length(textures)
        results{i * j, 1} = HI(queries{i, 2}, textures{j, 2});
        results{i * j, 2} = textures{j, 3};
        results{i * j, 3} = queries{i, 3};
    end

    results = sort(results, 1);

end

1 个答案:

答案 0 :(得分:1)

使用sortrows

c = {0.608920898437500  'D1.gif'    'D106.gif'
     0.803334960937500  'D1.gif'    'D109.gif'
     0.831228027343750  'D1.gif'    'D26.gif'}; %// example data
cSorted = sortrows(c,1); %// sort rows according to first column

结果是

cSorted = 
    [0.6089]    'D1.gif'    'D106.gif'
    [0.8033]    'D1.gif'    'D109.gif'
    [0.8312]    'D1.gif'    'D26.gif'