Main Content

issorted

배열이 정렬되었는지 확인

설명

예제

TF = issorted(A)A의 요소가 오름차순으로 나열되어 있으면 논리형 스칼라 값인 1(true)을 반환하고, 그렇지 않으면 0(false)을 반환합니다.

  • A가 벡터인 경우 벡터 요소가 오름차순으로 정렬되어 있으면 issorted는 1을 반환합니다.

  • A가 행렬인 경우 A의 각 열이 오름차순으로 정렬되어 있으면 issorted는 1을 반환합니다.

  • A가 다차원 배열인 경우 A가 크기가 1이 아닌 첫 번째 차원에서 오름차순으로 정렬되어 있으면 issorted는 1을 반환합니다.

  • A가 타임테이블인 경우 행 시간 벡터가 오름차순으로 정렬되어 있으면 issorted는 1을 반환합니다. 추가적인 옵션을 사용하여 타임테이블의 행 시간값 또는 변수 순서를 확인하려면 issortedrows 함수를 사용하십시오.

예제

TF = issorted(A,dim)A가 차원 dim을 따라 정렬되어 있으면 1을 반환합니다. 예를 들어, A가 행렬인 경우 A의 각 행이 오름차순으로 정렬되어 있으면 issorted(A,2)는 1을 반환합니다.

예제

TF = issorted(___,direction)은 위에 열거된 구문을 사용하여, Adirection에서 지정된 순서로 정렬되어 있으면 1을 반환합니다. 예를 들어,issorted(A,'monotonic')A의 요소가 오름차순이거나 내림차순이면 1을 반환합니다.

예제

TF = issorted(___,Name,Value)는 정렬 순서를 확인하는 추가적인 파라미터를 지정합니다. 예를 들어, issorted(A,'ComparisonMethod','abs')A가 크기를 기준으로 정렬되어 있는지 확인합니다.

TF = issorted(A,'rows')는 행렬의 첫 번째 열에 있는 요소가 정렬되어 있으면 1을 반환합니다. 첫 번째 열에 반복된 요소가 있으면 issorted는 두 번째 열의 순서를 확인하여 TF를 판별합니다. 일반적으로, issorted는 현재 열과 이전 열에 반복된 요소가 있는 경우 바로 오른쪽 열을 검토하고 TF를 판별합니다.

  • A가 타임테이블인 경우 issorted는 행 시간 벡터가 오름차순으로 정렬되어 있는지 확인합니다.

  • 이 구문은 문자형 벡터로 구성된 행렬에 대해서는 지원되지 않습니다.

참고

이 구문은 권장되지 않습니다. issortedrows를 대신 사용하십시오.

예제

모두 축소

벡터를 만들고 오름차순으로 정렬되어 있는지 확인합니다.

A = [5 12 33 39 78 90 95 107];
issorted(A)
ans = logical
   1

5×5 행렬을 만들고, 각 행이 내림차순으로 정렬되어 있는지 확인합니다.

A = magic(5)
A = 5×5

    17    24     1     8    15
    23     5     7    14    16
     4     6    13    20    22
    10    12    19    21     3
    11    18    25     2     9

issorted(A,2,'descend')
ans = logical
   0

sort 함수를 사용하여 A의 각 행을 내림차순으로 정렬하고, 그 결과 행이 내림차순으로 정렬되었는지 확인합니다.

B = sort(A,2,'descend')
B = 5×5

    24    17    15     8     1
    23    16    14     7     5
    22    20    13     6     4
    21    19    12    10     3
    25    18    11     9     2

issorted(B,2,'descend')
ans = logical
   1

문자열로 구성된 2차원 배열을 만들고 각 열이 정렬되어 있는지 확인합니다.

str = ["Horse","Chicken";"cow","Goat"]
str = 2x2 string
    "Horse"    "Chicken"
    "cow"      "Goat"   

issorted(str)
ans = logical
   1

행이 왼쪽에서 오른쪽으로 정렬되어 있는지 확인합니다.

issorted(str,2)
ans = logical
   0

각 행이 왼쪽에서 오른쪽으로 내림차순으로 정렬되어 있는지 확인합니다.

issorted(str,2,'descend')
ans = logical
   1

복소수와 NaN 값을 가진 벡터를 만듭니다.

A = [NaN NaN 1+i 1+2i 2+2i 3+i];

NaN 요소가 벡터 내에서 처음에 배치되었는지 그리고, 나머지 요소가 실수부를 기준으로 정렬되었는지 확인합니다.

issorted(A,'MissingPlacement','first','ComparisonMethod','real')
ans = logical
   1

A의 세 번째와 네 번째 요소의 실수부가 같기 때문에, issorted는 이러한 요소의 허수부도 정렬되어 있는지 확인합니다.

imag(A(3))
ans = 1
imag(A(4))
ans = 2

입력 인수

모두 축소

입력 배열로, 벡터, 행렬, 다차원 배열, 문자형 벡터로 구성된 셀형 배열 또는 timetable형으로 지정됩니다.

  • A에 누락값(예: NaN, NaT, <undefined>, missing)이 있는 경우 기본적으로, issorted가 1을 반환하려면 이러한 값을 끝에 배치하십시오.

  • A가 복소수인 경우 기본적으로, issorted는 요소의 크기로 정렬 순서를 확인합니다. 크기가 동일한 연속된 요소가 있는 경우 issorted는 이들 간의 우선 순위를 결정하기 위해 구간 (-π, π]의 위상각도 확인합니다.

  • A가 문자형 벡터로 구성된 셀형 배열 또는 string형 배열인 경우 issorted는 UTF-16 문자 인코딩 체계의 코드 순서를 사용하여 정렬 순서를 확인합니다. 정렬은 대/소문자를 구분합니다. 정렬된 문자형 배열과 string형 배열에 대한 자세한 내용은 문자형 배열과 string형 배열의 정렬 순서 항목을 참조하십시오.

데이터형: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string | cell | categorical | datetime | duration | timetable

복소수 지원 여부:

연산을 수행할 차원으로, 양의 정수 스칼라로 지정됩니다. 값이 지정되지 않은 경우 디폴트 값은 크기가 1이 아닌 첫 번째 배열 차원이 됩니다.

행렬 A가 있다고 가정합니다. issorted(A,1)A의 각 열에 있는 데이터가 정렬되어 있는지 확인합니다.

issorted(A,1) column-wise computation.

issorted(A,2)A의 각 행에 있는 데이터가 정렬되어 있는지 확인합니다.

issorted(A,2) row-wise computation.

dim은 타임테이블 입력값에는 지원되지 않습니다.

데이터형: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

정렬 방향으로, 다음 중 하나로 지정됩니다.

  • 'ascend' — 데이터가 오름차순으로 정렬되어 있는지 확인합니다. 데이터에 연속적으로 반복된 요소가 있을 수 있습니다.

  • 'descend' — 데이터가 내림차순으로 정렬되어 있는지 확인합니다. 데이터에 연속적으로 반복된 요소가 있을 수 있습니다.

  • 'monotonic' — 데이터가 내림차순 또는 오름차순으로 정렬되어 있는지 확인합니다. 데이터에 연속적으로 반복된 요소가 있을 수 있습니다.

  • 'strictascend' — 데이터가 순오름차순으로 정렬되어 있는지 확인합니다. 데이터에 중복되거나 누락된 요소가 포함될 수 없습니다.

  • 'strictdescend' — 데이터가 순내림차순으로 정렬되어 있는지 확인합니다. 데이터에 중복되거나 누락된 요소가 포함될 수 없습니다.

  • 'strictmonotonic' — 데이터가 순내림차순 또는 순오름차순으로 정렬되어 있는지 확인합니다. 데이터에 중복되거나 누락된 요소가 포함될 수 없습니다.

direction은 타임테이블 입력값에는 지원되지 않습니다. issortedrows를 대신 사용하십시오.

이름-값 인수

선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN으로 지정합니다. 여기서 Name은 인수 이름이고 Value는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.

R2021a 이전 릴리스에서는 쉼표를 사용하여 각 이름과 값을 구분하고 Name을 따옴표로 묶으십시오.

예: issorted(A,'MissingPlacement','last')

누락값(NaN, NaT, <undefined>, missing)의 배치로, 'MissingPlacement'와 함께 다음 중 하나가 쉼표로 구분되어 지정됩니다.

  • 'auto' — 누락된 요소를 오름차순의 경우 마지막에 배치하고, 내림차순의 경우 처음에 배치해야 1이 반환됩니다.

  • 'first' — 누락된 요소를 처음에 배치해야 1이 반환됩니다.

  • 'last' — 누락된 요소를 마지막에 배치해야 1이 반환됩니다.

이 이름-값 쌍은 타임테이블 입력값에는 지원되지 않습니다. issortedrows를 대신 사용하십시오.

요소 비교 방법으로, 'ComparisonMethod'와 함께 다음 중 하나가 쉼표로 구분되어 지정됩니다.

  • 'auto'A가 실수일 때 Areal(A)로 정렬되어 있는지 확인하고, A가 복소수일 때 Aabs(A)로 정렬되어 있는지 확인합니다.

  • 'real'A가 실수 또는 복소수일 때 Areal(A)로 정렬되어 있는지 확인합니다. A에 연속된 동일 실수부를 가진 요소가 있는 경우 이들 간의 우선 순위를 결정하기 위해 imag(A)를 확인합니다.

  • 'abs'A가 실수 또는 복소수일 때 Aabs(A)로 정렬되어 있는지 확인합니다. A에 연속된 동일 크기를 가진 요소가 있는 경우 이들 간의 우선 순위를 결정하기 위해 구간 (-π,π]의 angle(A)를 확인합니다.

세부 정보

모두 축소

문자형 배열과 string형 배열의 정렬 순서

MATLAB®은 UTF-16 문자 인코딩 체계를 사용하여 문자를 Unicode®로 저장합니다. 문자형 배열과 string형 배열은 UTF-16 코드 포인트 순서에 따라 정렬됩니다. ASCII 문자에도 해당되는 문자의 경우 이 순서에 따라 대문자가 소문자 앞에 옵니다. 숫자와 일부 문장 부호도 문자 앞에 옵니다.

확장 기능

버전 내역

R2006a 이전에 개발됨

참고 항목

| |