Многие операции
статистической обработки данных выполняются быстрее и надежнее, если данные
предварительно отсортированы. Кроме того, нередко представление данных в отсортированном
виде более наглядно и ценно. Ряд функций служит для выполнения сортировки элементов
массива. Они представлены ниже.
sort (А)
— в случае одномерного массива А сортирует и возвращает элементы по возрастанию
их значений; в случае двумерного массива происходит сортировка и возврат
элементов каждого столбца. Допустимы вещественные, комплексные и строковые
элементы. Если А принимает комплексные значения, то элементы сначала сортируются
по абсолютному значению, а затем, если абсолютные значения равны, по аргументу.
Если А включает NaN-элементы, sort помещает их в конец;
[В. INDEX]
= sort(A) — наряду с отсортированным массивом возвращает массив индексов
INDEX. Он имеет размер size(A), с помощью этого массива можно восстановить
структуру исходного массива.
sort(A.dim)
— для матриц сортирует элементы по столбцам (dim=l) или по рядам в зависимости
от значения переменной dim.
Примеры:
»
A=magic(5)
А
=
17
24
1
8
15
23
5
7
14
16
4
б
13
20
22
10
12
19
21
3
11
18
25
2
9
»
[В.
B=
INDEX]
sort(A)
4
5
1
2
3
10
6
7
8
9
11
12
13
14
15
17
18
19
20
16
23
24
25
21
22
index=
3
2
1
5
4
4
3
2
1
5
5
4
3
2
1
1
5
4
3
2
2
1
5
4
3
sortrows(A)
— выполняет сортировку рядов массива А по возрастанию и возвращает отсортированный
массив, который может быть или матрицей, или вектором-столбцом;
sortrows(A.column)
— возвращает матрицу, отсортированную по столбцам, точно указанным в векторе
column. Например, sortrows(A,[2 3]) сортирует строки матрицы А сначала по
второму столбцу, и затем, если его элементы равны, по третьему;
[В, index]
= sort rows (А) — также возвращает вектор индексов index. Если А — вектор-столбец,
то B=A(index). Если А — матрица размера
тхп,
то B=A(index.:).
cplxpair(A)
— сортирует элементы по строкам или столбцам комплексного массива А, группируя
вместе комплексно сопряженные пары. Затем найденные пары сортируются по
возрастанию действительной части. Внутри пары элемент с отрицательной мнимой
частью является первым. Действительные элементы следуют за комплексными
парами. Заданный по умолчанию порог 100*eps относительно abs(A(i))) определяет,
какие числа являются действительными и какие элементы являются комплексно
сопряженными. Если А — вектор, cpl xpair (А) возвращает А вместе с комплексно
сопряженными парами. Если А — матрица, cpl xpai r(А) возвращает матрицу
А с комплексно сопряженными парами, сортированную по столбцам;
cplxpalr(A,tol)
— отменяет заданный по умолчанию порог и задает новый tol;
cplxpair(A.[].dim)
— сортирует матрицу А по строкам или по столбцам в зависимости от значения
параметра dim;
cplxpair(A,tol
,dim) — сортирует матрицу А по строкам или по столбцам в зависимости от
значения параметра dim, используя заданный порог tol.