IMatrixModel.Sort

Синтаксис

Sort(Coord: IMatrixModelCoord; Ascending: Boolean);

Параметры

Coord. Координата в измерении, по которой берется срез. По значениям среза будет осуществляться сортировка.

Ascending. Параметр, определяющий направление сортировки. Если True, то сортировка осуществляется по возрастанию значений.

Описание

Метод Sort осуществляет сортировку матрицы в зависимости от значений содержащихся в срезе Coord.

Комментарии

В результате работы метода координаты элементов матрицы переставляются таким образом, чтобы значения, расположенные в срезе Coord, были упорядочены в зависимости от направления сортировки, указанного в параметре Ascending.

Примечание. Данный метод поддерживается только для матриц, созданных с помощью языка Fore и являющихся объектами класса Matrix. Метод нельзя применять для матриц, полученных при вычислении объектов платформы (результирующие матрицы кубов, матрицы, полученные при работе в контейнере моделирования или базе данных временных рядов, матрицы срезов в регламентных отчетах).

Пример

Sub Main;

Var

M: Matrix[2];

Mm: IMatrixModel;

C: IMatrixModelCoord;

I, J: Integer;

Begin

Debug.WriteLine("Исходная матрица");

For i := 0 To 3 Do

For j := 0 To 3 Do

M[i, j] := Math.RandBetweenI(0, 9);

Debug.Write(M[i, j] + " ");

End For;

Debug.WriteLine("");

End For;

Mm := M As IMatrixModel;

C := Mm.CreateModelCoord;

C.Item(0) := 0; // Для сортировки столбцов по значениям первой строки

//C.Item(1) := 3; // Для сортировки строк по значениям четвертого столбца

Mm.Sort(C, True);

Debug.WriteLine("");

Debug.WriteLine("Отсортированная матрица");

For i := 0 To 3 Do

For j := 0 To 3 Do

Debug.Write(M[i, j] + " ");

End For;

Debug.WriteLine("");

End For;

End Sub Main;

При выполнении примера создается двухмерная матрица, содержащая случайные целочисленные значения. Столбцы матрицы будут отсортированы таким образом, чтобы значения в первой строке были расположены по возрастанию.

См. также:

IMatrixModel