Main Content

issorted

配列が並べ替えられているかどうかを判別

説明

TF = issorted(A) は、A の要素が昇順でリストされている場合は logical スカラー 1 (true) を、そうでない場合は 0 (false) を返します。

  • A がベクトルである場合、issorted はベクトル要素が昇順になっている場合に 1 を返します。

  • A が行列である場合、issortedA の各列が昇順になっている場合に 1 を返します。

  • A が多次元配列である場合、issortedA がサイズが 1 でない最初の次元に沿って昇順になっている場合に 1 を返します。

  • A が timetable である場合、issorted は行時間ベクトルが昇順になっている場合に 1 を返します。追加オプションで行時間または timetable の変数の順序を確認するには、関数 issortedrows を使用します。

TF = issorted(A,dim) は、A が次元 dim に沿って並べ替えられている場合に 1 を返します。たとえば、A が行列の場合、issorted(A,2)A の各行が昇順になっている場合に 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 番目の列の要素が並べ替えられている場合に 1 を返します。1 番目の列に繰り返された要素が含まれる場合、issorted は 2 番目の列の順序を見て TF を判別します。一般的に、issorted は現在の列と前の列に繰り返された要素が含まれる場合、すぐ右にある列を見て TF を判別します。

  • A が timetable の場合、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

string の 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 の 3 番目の要素と 4 番目の要素は実数部が等しいため、issorted は各要素の虚数部も並べ替えられているかどうかをチェックします。

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

入力引数

すべて折りたたむ

入力配列。ベクトル、行列、多次元配列、文字ベクトルの cell 配列または timetable として指定します。

  • ANaNNaT<undefined>missing などの欠損値が含まれる場合、既定では issorted が 1 を返すにはこれらの欠損値が末尾に配置されていることが必要です。

  • A が複素数の場合、既定では issorted は要素の大きさで並べ替え順序を決定します。大きさの等しい要素が連続している場合、issorted は区間 (-π, π] における位相角もチェックして順序を決定します。

  • A が文字ベクトルの cell 配列または 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 は timetable 入力ではサポートされません。

データ型: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

並べ替える方向。次のいずれかとして指定します。

  • 'ascend' — データが昇順になっているかどうかをチェックします。データには連続して繰り返される要素を含めることができます。

  • 'descend' — データが降順になっているかどうかをチェックします。データには連続して繰り返される要素を含めることができます。

  • 'monotonic' — データが昇順または降順のいずれかになっているかどうかをチェックします。データには連続して繰り返される要素を含めることができます。

  • 'strictascend' — データが厳密に昇順になっているかどうかをチェックします。データに重複要素または欠損要素を含めることはできません。

  • 'strictdescend' — データが厳密に降順になっているかどうかをチェックします。データに重複要素または欠損要素を含めることはできません。

  • 'strictmonotonic' — データが厳密に昇順または降順になっているかどうかをチェックします。データに重複要素または欠損要素を含めることはできません。

direction は timetable 入力ではサポートされません。代わりに issortedrows を使用してください。

名前と値の引数

引数のオプションのペアを Name1=Value1,...,NameN=ValueN として指定します。ここで Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後になければなりませんが、ペアの順序は重要ではありません。

R2021a より前では、コンマを使用してそれぞれの名前と値を区切り、Name を引用符で囲みます。

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

欠損値 (NaNNaT<undefined>missing) の配置。'MissingPlacement' と、次のいずれかで構成されるコンマ区切りのペアとして指定します。

  • 'auto' — 1 を返すには、欠損値が昇順の場合は最後、降順の場合は最初に配置されていることが必要です。

  • 'first' — 1 を返すには、欠損値が最初に配置されていることが必要です。

  • 'last' — 1 を返すには、欠損値が最後に配置されていることが必要です。

この名前と値のペアは timetable 入力ではサポートされません。代わりに 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 より前に導入