メインコンテンツ

min

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

説明

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

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

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

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

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

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

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

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

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

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

すべて折りたたむ

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

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

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

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

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

min([-52,-4x],[],2,"omitnan",symfalse)

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

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

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

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

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

(1x-12-21x)

M = min(A)
M = 

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

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

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

(1x-12-21x)

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

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

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

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

(1x-12-22x)

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

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

I = 2×1

    -1
    -1

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

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

(12-12-222)

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

(-12-2)

I = 2×1

     3
     1

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

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

(1x-12-21x)

M = min(A,[],"all")
M = min([-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 = min(A,B)
C = 

(min([1,x],[],2,"omitnan",xR)min([2+i,y],[],2,"omitnan",symtrue)2i1+i-3min([x,y],[],2,"omitnan",xRyR))

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

f(x)={0x>11-xx<1

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

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

fplot(f,[-5 5])

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

入力引数

すべて折りたたむ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • "omitnan" — 入力の NaN 値をすべて無視します。すべての要素が NaN の場合、min は最初の 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 で導入

すべて展開する

参考

関数