FindMinimum

FindMinimum[f,x]
搜索 f 的局部极小值,从一个自动选定的点开始.

FindMinimum[f,{x,x0}]
搜索 f 的局部最小值,从 x=x0 开始.

FindMinimum[f,{{x,x0},{y,y0},}]
搜索多元函数的局部最小值.

FindMinimum[{f,cons},{{x,x0},{y,y0},}]
搜索约束条件 cons 下局部最小值.

FindMinimum[{f,cons},{x,y,}]
starts from a point within the region defined by the constraints.

更多信息和选项更多信息和选项

  • FindMinimum 返回 {fmin,{x->xmin}} 形式的列表,其中 fmin 是找到的 f 最小值,且 xmin 是找到的 x 的值.
  • 如果变量的初始值是以列表形式给出,变量值采用相同维数的列表.
  • 约束条件 cons 可以包含方程、不等式或这些表达式的逻辑组合.
  • 约束条件 cons 可以是下列任意的逻辑组合:
  • lhs==rhs方程
    lhs>rhs or lhs>=rhs 不等式
    {x,y,}reg区域规范
  • FindMinimum 首先局部化所有变量值,然后计算符号变量下的 f,然后重复计算数值结果.
  • FindMinimum 具有属性 HoldAll,且实际上用 Block 局部化变量.
  • FindMinimum[f,{x,x0,x1}]x0x1 作为 x 的前 2 个值搜索 f 的局部最小值,避免使用导数.
  • FindMinimum[f,{x,x0,xmin,xmax}] 搜索局部最小值,如果 x 超出了 xminxmax 的范围,停止搜索.
  • 除了当 fcons 都是线性的,由 FindMinimum 找到的结果可能是局部的,但不是全局的最小数.
  • 在默认情况下,所有变量都假定为实数.
  • 对于线性的 fconsxIntegers 可以用来指定变量仅采用整数值.
  • 可以给出下列选项:
  • AccuracyGoalAutomatic搜索的准确度
    EvaluationMonitorNonef 计算时,计算的表达式
    GradientAutomaticf 梯度分量的列表
    MaxIterationsAutomatic使用最大迭代数
    MethodAutomatic使用的方法
    PrecisionGoalAutomatic搜索的精度
    StepMonitorNone每个步骤计算的表达式
    WorkingPrecisionMachinePrecision内部计算的精度
  • The default settings for AccuracyGoal and PrecisionGoal are WorkingPrecision/2.
  • AccuracyGoalPrecisionGoal 的设置指定搜索最小值的坐标值和函数值的数字位数.
  • FindMinimum 持续计算直到由 AccuracyGoalPrecisionGoal 指定的目标中的任何一个被达到.
  • Method 的可能设置包括 "ConjugateGradient""PrincipalAxis""LevenbergMarquardt""Newton""QuasiNewton""InteriorPoint""LinearProgramming",默认是 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]=
1988年引入
(1.0)
| 2014年更新
(10.0)