Main Content

maxk

配列の k 個の最大要素を検出

説明

B = maxk(A,k) は、Ak 個の最大要素を返します。

  • A がベクトルの場合、maxkAk 個の最大要素を含むベクトルを返します。

  • A が行列の場合、maxkA の各列における k 個の最大要素を列に含む行列を返します。

  • A が多次元配列の場合、maxk は、サイズが 1 に等しくない最初の次元に沿って k 個の最大要素を返します。

B = maxk(A,k,dim) は次元 dim に沿って Ak 個の最大要素を判別します。

B = maxk(___,'ComparisonMethod',c) はオプションで、前述の構文のいずれについても、A の要素を比較する方法を指定します。たとえば、maxk(A,k,'ComparisonMethod','abs')A の要素の絶対値に従って k 個の最大値を返します。

[B,I] = maxk(___)Ak 個の最大値のインデックスを検出し、I に返します。

すべて折りたたむ

ベクトルの 3 個の最大要素を計算します。

A = 1:10;
B = maxk(A,3)
B = 1×3

    10     9     8

行列の各行における 3 個の最大要素を計算します。

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

B = maxk(A,3,2)
B = 5×3

    24    17    15
    23    16    14
    22    20    13
    21    19    12
    25    18    11

複素数ベクトルの要素の大きさに従って、2 個の最大要素を計算し、入力ベクトル内で各要素が配置されているインデックスを返します。

A = [2-2i 5+i -7-3i -1+i]
A = 1×4 complex

   2.0000 - 2.0000i   5.0000 + 1.0000i  -7.0000 - 3.0000i  -1.0000 + 1.0000i

[B,I] = maxk(A,2,'ComparisonMethod','abs')
B = 1×2 complex

  -7.0000 - 3.0000i   5.0000 + 1.0000i

I = 1×2

     3     2

入力引数

すべて折りたたむ

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

  • A がベクトルの場合、maxkAk 個の最大要素を含むベクトルを返します。

  • A が行列の場合、maxkA の各列における k 個の最大要素を列に含む行列を返します。

  • A が多次元配列の場合、maxk は、サイズが 1 に等しくない最初の次元に沿って k 個の最大要素を返します。

Acategorical 型の場合、順序配列でなければなりません。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | categorical | datetime | duration
複素数のサポート: あり

返す最大値の数。正の整数スカラーとして指定します。k が操作次元の要素数以上である場合、maxk はその次元に沿って入力配列を並べ替えます。

操作次元。正の整数スカラーとして指定します。値を指定しない場合、既定値は、サイズが 1 ではない最初の配列の次元です。

mn 列の入力行列 A を考えます。

  • maxk(A,k,1) は、A の各列で最も大きい k 個の値を計算し、kn 列の行列を返します。

    maxk(A,k,1) column-wise operation

  • maxk(A,k,2) は、A の各行で最も大きい k 個の値を計算し、mk 列の行列を返します。

    maxk(A,k,2) row-wise operation

比較方法。次のいずれかとして指定します。

  • 'auto' — 入力 A の要素を、A が実数の場合は real(A)A が複素数の場合は abs(A) により比較します。

  • 'real' — 入力 A の要素を、A が実数でも複素数でも、real(A) により比較します。A の要素の実数部が等しい場合、imag(A) を使用して同順位のものを並べ替えます。

  • 'abs' — 入力 A の要素を、A が実数でも複素数でも、abs(A) により比較します。A の要素の大きさが等しい場合、区間 (-π,π] で angle(A) を使用して同順位のものを並べ替えます。

出力引数

すべて折りたたむ

出力配列。スカラー、ベクトル、行列または多次元配列として返されます。maxk は大きい方から順に k 個の要素を返します。A 内に等しい要素が複数あった場合、それらの並び順は B でも保持されます。

インデックス配列。ベクトル、行列または多次元配列として返されます。I のサイズは B と同じです。出力配列 B に繰り返されている要素がある場合、I におけるこれらの要素のインデックスの順序は、入力配列での順序と一致します。

拡張機能

バージョン履歴

R2017b で導入

参考

| |