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 Real v[:] "Real vector to be sorted"; input Boolean ascending = true "= true, if ascending order, otherwise descending order"; output Real sorted_v[size(v, 1)] = v "Sorted vector"; output Integer indices[size(v, 1)] = 1:size(v, 1) "sorted_v = v[indices]"; end sort;