FindMaximum

FindMaximum[f,x]
自動的に選ばれた点から始めて の極大値を求める.

FindMaximum[f,{x,x0}]
から始めて の極大値を求める.

FindMaximum[f,{{x,x0},{y,y0},}]
複数の変数を持つ関数の極大値を求める.

FindMaximum[{f,cons},{{x,x0},{y,y0},}]
制約条件 cons のもとで極大値を求める.

FindMaximum[{f,cons},{x,y,}]
制約条件で定義された範囲内の点から始める.

詳細とオプション詳細とオプション

  • FindMaximumの形式のリストを返す.ここで,の見出された極大値で,はそのときの の値である.
  • 変数の初期値がリストで与えられている場合,変数の値はこれと同じ次元のリストであると解釈される.
  • 制約条件 cons は,方程式,不等式,あるいはこれらの論理結合を含むことができる.
  • 制約条件 cons は以下の論理結合でよい.
  • lhs==rhs方程式
    or 不等式
    {x,y,}reg領域指定
  • FindMaximumは,まずすべての変数の値を局所化し,次に記号的となった変数でを評価し,繰り返して結果を数値的に評価する.
  • FindMaximumは属性HoldAllを持ち.Blockを用いて実質的に変数を局所化する.
  • FindMaximum[f,{x,x0,x1}]は,の最初の2つの値として用い,導関数を使用せずに の極大値を求める.
  • FindMaximum[f,{x,x0,xmin,xmax}]は極大値を求める.から までの区間からはみ出したところで探索を中止する.
  • f が両方とも線形である場合を除き,FindMaximumによって求まった結果は,極大値のみに対応して最大値には対応しないことがある.
  • デフォルトで,変数はすべて実数であると仮定される.
  • 線形の fconsについては,xIntegersを使って変数が整数値のみを取るように指定することができる.
  • 次のオプションを使うことができる.
  • AccuracyGoalAutomatic目標確度
    EvaluationMonitorNonef が評価されるたびに常に評価される式
    GradientAutomatic勾配関数のリスト
    MaxIterationsAutomatic使用する最大反復回数
    MethodAutomatic使用するアルゴリズム
    PrecisionGoalAutomatic目標精度
    StepMonitorNone段階を取るたびに常に評価される式
    WorkingPrecisionMachinePrecision内部計算で使用する精度
  • AccuracyGoalPrecisionGoalのデフォルト値はWorkingPrecision/2である.
  • AccuracyGoalPrecisionGoalの設定値で,極大値の位置の値と極大値に達したときの関数の値の両方で目標とする有効桁精度を指定する.
  • FindMaximumは,AccuracyGoalまたはPrecisionGoalで指定された精度(または確度)に達するまで計算を続ける.
  • Methodが取り得る設定には,等がある.デフォルト値はAutomaticである.

例題例題すべて開くすべて閉じる

  (4)  (4)

から探索を始めて,極大値を求める:

In[1]:=
Click for copyable input
Out[1]=
In[2]:=
Click for copyable input
Out[2]=

極大値の点における x の値を抽出する:

In[3]:=
Click for copyable input
Out[3]=

から始めて制約条件に従って極大値を求める:

In[1]:=
Click for copyable input
Out[1]=

線形条件と整数条件に従って線形関数の最大値を求める:

In[1]:=
Click for copyable input
Out[1]=

幾何学領域上で関数の最大値を求める:

In[1]:=
Click for copyable input
Out[1]=

これをプロットする:

In[2]:=
Click for copyable input
Out[2]=
2003年に導入
(5.0)
| 2014年に修正
(10.0)