Определение местоположения сайтов относительно сайтов сетки
pointer = sorted(meshsites,sites)
Различные команды в этом тулбоксе должны определить индекс j, для которого данный x находится в интервале [<reservedrangesplaceholder5> <reservedrangesplaceholder4>. <reservedrangesplaceholder3> <reservedrangesplaceholder2> + 1], с (<reservedrangesplaceholder1>) данная не уменьшающаяся последовательность, например, последовательность узла. Эта работа выполняется sorted
следующим образом.
pointer = sorted(meshsites,sites)
- целочисленный вектор-строка, чья j
-й элемент равен количеству записей в meshsites
которые являются ≤ ssites(j)
, с ssites
вектор sort(sites)
. Таким образом, если оба meshsites
и sites
являются недекретизированными, тогда
meshsites(pointer(j)) ≤ sites(j) < meshsites(pointer(j)+1)
с очевидными интерпретациями, когда
pointer(j) < 1 or length(meshsites) < pointer(j) + 1
В частности, иметь pointer(j) < 1
затем соответствует имеющемуся sites(j)
строго налево от meshsites(1)
, при этом имея length(meshsites) < pointer(j)+1
затем соответствует имеющемуся sites(j)
на, или справа от, meshsites(end)
.
Оператор
sorted([1 1 1 2 2 3 3 3],[0:4])
сгенерирует выходные 0 3 5 8 8
, как и в операторе
sorted([3 2 1 1 3 2 3 1],[2 3 0 4 1])
Выходные данные индексации от sort([meshsites(:).',sites(:).'])
используется.