メインコンテンツ

max

シンボリック入力の最大要素

説明

M = max(A) は、シンボリック入力の最大要素を返します。

  • A がベクトルの場合、max(A)A の最大値を返します。

  • A が行列の場合、max(A)A の各列の最大値を含む行ベクトルです。

シンボリック式を含む入力 A について、シンボリックの max 関数は、最大値を表さない A の要素を除外する未評価の式を返します。出力には、シンボリック変数の条件を表す別の引数が含まれることがあります。たとえば、syms x; max([1 x]) は、x が複素数であるため、コマンド ウィンドウで出力 max([1, x], [], 2, 'omitnan', ~in(x, 'real')) を返します。

M = max(A,[],"all") は、A のすべての要素の最大値を返します。

M = max(A,[],dim) は、次元 dim に沿って最大要素を返します。たとえば、A が行列の場合、max(A,[],2) は各行の最大値を含む列ベクトルを返します。

M = max(A,[],___,nanflag) は、前述の任意の構文について、ANaN 値を含めるか省略するかを指定します。たとえば、max(A,[],"includenan") は最大値を計算するときにすべての NaN 値を含めますが、max(A,[],"omitnan") はすべての NaN 値を無視します。

[M,I] = max(___) は、A の最大値の最初の出現に対応する操作次元へのインデックスも返します。

C = max(A,B) は、A または B から取得される最大要素を含む配列を返します。

また、C = max(A,B,nanflag) は、NaN 値の処理方法を指定します。

すべて折りたたむ

実数要素のシンボリック ベクトルを作成します。シンボリック関数 max を使用し、最大実数要素を求めます。

syms x real
A = [23 42 37 18 x];
M = max(A)
M = max([42,x],[],2,"omitnan",symfalse)

シンボリック関数 max は、未評価の式を返します。この式は最大値を表さない A の要素を除外します。

シンボリック ベクトルを作成し、その最大値を NaN 値を除いて計算します。

syms x positive
A = [1.75 x 3.25 -2.5 NaN 0.5 NaN 0.2 -4*x];
M = max(A,[],"omitnan")
M = 

max([134,x],[],2,"omitnan",symfalse)

"omitnan" は既定のオプションであるため、max(A) もこの結果を生成します。

NaN を返すには "includenan" オプションを使用します。

M = max(A,[],"includenan")
M = NaN

シンボリック行列を作成し、各列の最大要素を求めます。

syms x real
A = [1 x -0.5; -2 2 x]
A = 

(1x-12-22x)

M = max(A)
M = 

(1max([2,x],[],2,"omitnan",symfalse)max([-12,x],[],2,"omitnan",symfalse))

シンボリック行列を作成し、各行の最大要素を求めます。

syms x real
A = [1 x -0.5; -2 2 x]
A = 

(1x-12-22x)

M = max(A,[],2)
M = 

(max([1,x],[],2,"omitnan",symfalse)max([2,x],[],2,"omitnan",symfalse))

シンボリック行列 A を作成します。A の各行における最大要素を求め、各行における最大値の最初の出現に対応する列インデックスを返します。A には値が未定のシンボリック変数 x が含まれているため、max は各行における最大値を明示的に評価できず、インデックスを -1 として返します。

syms x real
A = [1 x -0.5; -2 2 x]
A = 

(1x-12-22x)

[M,I] = max(A,[],2)
M = 

(max([1,x],[],2,"omitnan",symfalse)max([2,x],[],2,"omitnan",symfalse))

I = 2×1

    -1
    -1

シンボリック行列 A で変数 x のシンボリック数を代入します。各行における最大要素をもう一度求めます。この場合、max は最大値を評価することができ、各行における最大値の最初の出現に対応する列インデックスを返します。

A = subs(A,x,sqrt(2))
A = 

(12-12-222)

[M,I] = max(A,[],2)
M = 

(22)

I = 2×1

     2
     2

シンボリック行列を作成します。"all" オプションを指定して max 関数を使用し、行列のすべての次元の最大値を求めます。

syms x real
A = [1 x -0.5; -2 2 x]
A = 

(1x-12-22x)

M = max(A,[],"all")
M = max([2,x],[],2,"omitnan",symfalse)

複素数要素を使って 2 つのシンボリック行列を作成します。2 つの行列から取得される最大要素を求めます。最大要素は大きさが最大となる複素数値です。

syms x y
A = [x 2+1i; 3 4i; -5 y]
A = 

(x2+i34i-5y)

B = [1 y; 2i 1+1i; -3 x]
B = 

(1y2i1+i-3x)

C = max(A,B)
C = 

(max([1,x],[],2,"omitnan",xR)max([2+i,y],[],2,"omitnan",symtrue)34i-5max([x,y],[],2,"omitnan",xRyR))

シンボリック関数 max を使用し、以下の式を定義します。変数 x が実数であると仮定します。

f(x)={x-1x>10x<1

syms x real
f(x) = sqrt(max(x,1) - 1)
f(x) = max([1,x],[],2,"omitnan",symfalse)-1

fplot を使用して式をプロットします。

fplot(f,[-5 5])

Figure contains an axes object. The axes object contains an object of type functionline.

入力引数

すべて折りたたむ

入力配列。シンボリック式、シンボリック式のベクトル、またはシンボリック式の行列として指定します。

  • A が複素数の場合、max(A) は最大の絶対値をもつ複素数値を返します。絶対値が等しい場合、max(A) は最大の絶対値および最大の位相角をもつ値を返します。

  • A がスカラーの場合、max(A)A を返します。

  • A が 0 行 0 列の空の配列である場合、max(A) も空の配列になります。

データ型: sym | single | double
複素数のサポート: あり

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

次元 dim は、長さが 1 に短縮された次元を示します。そのため、size(M,dim)1 ですが、size(A,dim)0 でない限り、他のすべての次元のサイズは変化しません。size(A,dim)0 の場合、max(A,dim)A と同じサイズの空の配列を返します。

2 次元の入力配列 A について考えます。

  • dim = 1 の場合、max(A,[],1) は、各列における最大要素を含む行ベクトルを返します。

    max(A,[],1) column-wise operation

  • dim = 2 の場合、max(A,[],2) は、各行における最大要素を含む列ベクトルを返します。

    max(A,[],2) row-wise operation

dimndims(A) より大きい場合、maxA を返します。

NaN の条件。次の値のいずれかとして指定します。

  • "omitnan" — 入力の NaN 値をすべて無視します。すべての要素が NaN の場合、max は最初の 1 つを返します。

  • "includenan" — 入力の NaN 値を計算に含めます。

追加の入力配列。シンボリック式、シンボリック式のベクトル、またはシンボリック式の行列として指定します。入力 A と入力 B は同じサイズまたは適合するサイズでなければなりません (たとえば、MN 列の行列 A と、スカラーまたは 1N 列の行ベクトル B)。詳細については、基本的な演算で互換性のある配列サイズを参照してください。

データ型: sym | single | double
複素数のサポート: あり

出力引数

すべて折りたたむ

最大値。シンボリック式、シンボリック式のベクトル、またはシンボリック式の行列として返されます。size(M,dim)1 ですが、size(A,dim)0 でない限り、他のすべての次元のサイズは A の対応する次元のサイズと一致します。size(A,dim)0 の場合、MA と同じサイズの空の配列です。

インデックス。スカラー、ベクトル、または行列として返されます。I のサイズは出力 M と同じです。

最大要素が複数回出現する場合、I には値の最初の出現に対するインデックスが格納されます。

データ型: double

A または B からの最大要素。シンボリック式、シンボリック式のベクトルまたは行列として返されます。C のサイズは、A および B の次元の暗黙的な拡張によって決まります。詳細については、基本的な演算で互換性のある配列サイズを参照してください。

バージョン履歴

R2021a で導入

すべて展開する

参考

関数