Matlab 如何在保持索引行的顺序与已排序行匹配的同时对数组进行排序?
最简单的方法是通过excel向您展示: 未分类: 分类: 本例使用excel,但我需要在matlab中使用数千个条目(如果可能,使用两行)执行相同的操作 以下是我目前的代码:Matlab 如何在保持索引行的顺序与已排序行匹配的同时对数组进行排序?,matlab,sorting,Matlab,Sorting,最简单的方法是通过excel向您展示: 未分类: 分类: 本例使用excel,但我需要在matlab中使用数千个条目(如果可能,使用两行)执行相同的操作 以下是我目前的代码: %At are random numbers between 0 and 2, 6000 entries. [sorted]=sort(At); max=sorted(end); min=sorted(1); %need the position of the min and max 但这只
%At are random numbers between 0 and 2, 6000 entries.
[sorted]=sort(At);
max=sorted(end);
min=sorted(1);
%need the position of the min and max
但这只是一行被排序,第二行没有数字,也没有索引。如何添加一个并使其保持在第一行之后
谢谢大家! 我没有访问Matlab的权限,但请尝试
[sorted, I] = sort(At);
其中I将是At的指数的对应向量。有关详细信息,请参见。我没有访问Matlab的权限,但请尝试
[sorted, I] = sort(At);
其中I将是At的指数的对应向量。有关详细信息,请参见。您在此处有几个选项。对于只需要索引的简单情况,中列出的第四种形式的
排序
已经为您提供了:
[sorted, indices] = sort(At);
在这种情况下,At(index)
与sorted
相同
如果“索引”实际上是另一个不同的数组,则可以使用:
在这种情况下,sorted(:,1)
将是第一个示例中的sorted
数组,sorted(:,2)
将是另一个根据At
排序的数组
sortrows
接受第二个参数,该参数告诉您要排序的列。这可以是单个列或列列表,如Excel中的列。它还可以提供第二个输出参数,即索引,就像常规的sort
一样,这里有两个选项。对于只需要索引的简单情况,中列出的第四种形式的排序
已经为您提供了:
[sorted, indices] = sort(At);
在这种情况下,At(index)
与sorted
相同
如果“索引”实际上是另一个不同的数组,则可以使用:
在这种情况下,sorted(:,1)
将是第一个示例中的sorted
数组,sorted(:,2)
将是另一个根据At
排序的数组
sortrows
接受第二个参数,该参数告诉您要排序的列。这可以是单个列或列列表,如Excel中的列。它还可以提供第二个输出参数,即索引,就像常规的排序
一样,如果第二个输出为index.min,则其工作方式相同:。唯一需要记住的是,默认情况下,它们对列而不是行进行操作。。。头几次我就错过了!每有一个index.min的第二个输出,其工作方式相同:。唯一需要记住的是,默认情况下,它们对列而不是行进行操作。。。头几次我就错过了!