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 但这只

最简单的方法是通过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
但这只是一行被排序,第二行没有数字,也没有索引。如何添加一个并使其保持在第一行之后


谢谢大家!

我没有访问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的第二个输出,其工作方式相同:。唯一需要记住的是,默认情况下,它们对列而不是行进行操作。。。头几次我就错过了!