Main Content

sorted

메시 지점을 기준으로 지점 찾기

구문

pointer = sorted(meshsites,sites)

설명

이 툴박스에는 주어진 x가 구간 [tj..tj + 1]에 있는 인덱스 j를 확인해야 하는 명령이 많습니다. 여기서 (ti)는 주어진 비감소 시퀀스(예: 매듭 시퀀스)입니다. 이 작업은 sorted가 다음과 같은 방식으로 수행합니다.

pointer = sorted(meshsites,sites) meshsites에서 ssites(j)보다 작거나 같은 요소의 개수를 정수 행 벡터의 j번째 요소에 반환합니다. 여기서, ssites는 벡터 sort(sites)입니다. 따라서 meshsitessites가 모두 감소하지 않으면 다음이 성립합니다.

meshsites(pointer(j)) ≤ sites(j) < meshsites(pointer(j)+1)

이때 다음과 같은 경우에 명확한 해석이 나옵니다.

pointer(j) < 1    or    length(meshsites) < pointer(j) + 1 

pointer(j) < 1을 갖는 것은 meshsites(1)의 왼쪽에서만 sites(j)를 갖는 것과 같으며, length(meshsites) < pointer(j)+1을 갖는 것은 meshsites(end)에서 또는 그 오른쪽에서 sites(j)를 갖는 것과 같습니다.

예제

다음 명령문은

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(:).'])의 인덱싱 출력값이 사용됩니다.