sorted_v = Vectors.sort(v); (sorted_v, indices) = Vectors.sort(v, ascending=true);
Function sort(..) sorts a Real vector v in ascending order and returns the result in sorted_v. If the optional argument "ascending" is false, the vector is sorted in descending order. In the optional second output argument the indices of the sorted vector with respect to the original vector are given, such that sorted_v = v[indices].
(v2, i2) := Vectors.sort({-1, 8, 3, 6, 2}); -> v2 = {-1, 2, 3, 6, 8} i2 = {1, 5, 3, 4, 2}
function sort extends Modelica.Icons.Function; input Complex v[:] "Vector to be sorted"; input Boolean ascending = true "= true if ascending order, otherwise descending order"; input Boolean sortFrequency = true "= true, if sorting is first for imaginary then for real value; = false, if sorting is for absolute value"; output Complex sorted_v[size(v, 1)] = v "Sorted vector"; output Integer indices[size(v, 1)] = 1:size(v, 1) "sorted_v = v[indices]"; end sort;