cummax
累積最大値
説明
は、M
= cummax(A
)A
の要素の累積最大値を返します。
A
がベクトルの場合、M
は同じサイズと型のベクトルで、A
の累積最大値が格納されます。A
が行列の場合、M
は同じサイズと型の行列で、A
の各列の累積最大値が格納されます。A
が多次元配列の場合、M
は同じサイズと型の配列で、A
のサイズが 1 より大きい最初の配列次元に沿って累積最大値が格納されます。A
が table または timetable の場合、cummax(A)
は、各変数の累積最大値を含む table または timetable を返します。 (R2023a 以降)
は、前述の任意の構文の方向を指定します。たとえば M
= cummax(___,direction
)cummax(A,2,"reverse")
は、A
の 2 番目の次元の末尾から先頭の方向に演算を行い、A
の累積最大値を返します。
例
ベクトルの累積最大値
ランダムな整数から成る 1 行 10 列のベクトルの累積最大値を求めます。
v = randi(10,1,10)
v = 1×10
9 10 2 10 7 1 3 6 10 10
M = cummax(v)
M = 1×10
9 10 10 10 10 10 10 10 10 10
行列の列の累積最大値
3 行 3 列の行列の列の累積最大値を求めます。
A = [3 5 2; 1 6 3; 7 8 1]
A = 3×3
3 5 2
1 6 3
7 8 1
M = cummax(A)
M = 3×3
3 5 2
3 6 3
7 8 3
行列の行の累積最大値
3 行 3 列の行列の行の累積最大値を求めます。
A = [3 5 2; 1 6 3; 7 8 1]
A = 3×3
3 5 2
1 6 3
7 8 1
M = cummax(A,2)
M = 3×3
3 5 5
1 6 6
7 8 8
逆方向の累積最大値
2 x 2 x 3 の配列で 3 番目の次元の累積最大値を計算します。direction
を "reverse"
に指定して、3 番目の次元の末尾から先頭の方向に演算を行います。
A = cat(3,[1 2; 3 4],[9 10; 11 12],[5 6; 7 8])
A = A(:,:,1) = 1 2 3 4 A(:,:,2) = 9 10 11 12 A(:,:,3) = 5 6 7 8
M = cummax(A,3,"reverse")
M = M(:,:,1) = 9 10 11 12 M(:,:,2) = 9 10 11 12 M(:,:,3) = 5 6 7 8
欠損値を含めた累積最大値
NaN
値を含む行列を作成します。
A = [3 5 NaN 4; 2 6 2 9; 1 3 0 NaN]
A = 3×4
3 5 NaN 4
2 6 2 9
1 3 0 NaN
NaN
値を含めて行列の累積最大値を計算します。NaN
値が含まれている行列の列では、最初の NaN
値が検出されるとすぐに累積最大値は NaN
になります。
M = cummax(A,"includenan")
M = 3×4
3 5 NaN 4
3 6 NaN 9
3 6 NaN NaN
入力引数
A
— 入力配列
ベクトル | 行列 | 多次元配列 | table | timetable
入力配列。ベクトル、行列、多次元配列、table または timetable として指定します。要素が複素数の場合、cummax
はそれらの大きさを比較します。大きさが等しければ、cummax
はさらに位相角を比較します。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
| duration
| table
| timetable
複素数のサポート: あり
dim
— 演算の対象の次元
正の整数スカラー
演算の対象の次元。正の整数のスカラーとして指定します。次元を指定しない場合、既定値はサイズが 1 より大きい最初の配列次元です。
2 次元の入力配列 A
について考えます。
cummax(A,1)
は、A
の列の連続する要素について演算を行い、各列の累積最大値を含むA
と同じサイズの配列を返します。cummax(A,2)
は、A
の行の連続する要素について演算を行い、各行の累積最大値を含むA
と同じサイズの配列を返します。
dim
が ndims(A)
より大きい場合、cummax
は A
を返します。
direction
— 累積の方向
"forward"
(既定値) | "reverse"
累積の方向。次の値のいずれかとして指定します。
"forward"
— 操作次元の1
からend
の方向に演算を行います。"reverse"
— 操作次元のend
から1
の方向に演算を行います。
nanflag
— 欠損値の条件
"omitmissing"
(既定値) | "omitnan"
| "includemissing"
| "includenan"
欠損値の条件。次の値のいずれかとして指定します。
"omitmissing"
または"omitnan"
— 累積最大値の計算時にA
のNaN
値を無視します。A
の先頭に連続したNaN
値が含まれている場合、M
の対応する要素はNaN
です。"omitmissing"
と"omitnan"
の動作は同じです。"includemissing"
または"includenan"
— 累積最大値の計算時にA
のNaN
値を含めます。A
の最初のNaN
値が検出されるとすぐにM
の要素はNaN
になります。"includemissing"
と"includenan"
の動作は同じです。
ヒント
多くの累積関数では、
"reverse"
オプションを使用することで、入力配列の反転や鏡映を行わなくても、逆方向の計算を簡単に実行できます。
拡張機能
tall 配列
メモリの許容量を超えるような多数の行を含む配列を計算します。
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
GPU コード生成
GPU Coder™ を使用して NVIDIA® GPU のための CUDA® コードを生成します。
スレッドベースの環境
MATLAB® の backgroundPool
を使用してバックグラウンドでコードを実行するか、Parallel Computing Toolbox™ の ThreadPool
を使用してコードを高速化します。
この関数はスレッドベースの環境を完全にサポートしています。詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
GPU 配列
Parallel Computing Toolbox™ を使用してグラフィックス処理装置 (GPU) 上で実行することにより、コードを高速化します。
使用上の注意事項および制限事項:
nanflag
引数はサポートされていません。
詳細については、GPU での MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
分散配列
Parallel Computing Toolbox™ を使用して、クラスターの結合メモリ上で大きなアレイを分割します。
この関数は分散配列を完全にサポートしています。詳細については、分散配列を使用した MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
バージョン履歴
R2014b で導入R2023a: 欠損値の条件の指定
"omitmissing"
オプションまたは "includemissing"
オプションを使用して、累積最大値の計算時に入力配列の欠損値を省略するか含めます。これらのオプションの動作はそれぞれ、"omitnan"
オプションおよび "includenan"
オプションと同じです。
R2023a: table および timetable で直接計算を実行
関数 cummax
は、table または timetable 内のすべての変数に対して、それらの変数にアクセスするためのインデックス付けを行うことなく計算できます。すべての変数のデータ型で計算がサポートされている必要があります。詳細については、table および timetable での直接計算を参照してください。
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)