此为 Mathematica 7 文档,内容基于更早版本的 Wolfram 语言
查看最新文档(版本11.2)

FindMaximum

FindMaximum[f, x]
求出 f 的局部极大值,从一个自动选定的点开始。
FindMaximum[f, {x, x0}]
求出 f 的局部极大值,从点 x=x0 开始。
FindMaximum[f, {{x, x0}, {y, y0}, ...}]
求出多变量的函数中局部极大值。
FindMaximum[{f, cons}, {{x, x0}, {y, y0}, ...}]
求出满足 cons 约束条件的局部极大值。
FindMaximum[{f, cons}, {x, y, ...}]
从约束条件定义区域内的点开始。
  • FindMaximum 返回形式列表 {fmax, {x->xmax}},当 fmaxf 里的最大值时,则 xmaxx 里的值。
  • 若起始点是给定列表里的变量,则变量的值与列表的维数相同。
  • cons 约束包括方程,不等式或这些逻辑组合。
  • FindMaximum 首先局部化所有变量值,然后求 f 里变量的符号值,最后求结果的数字值。
  • FindMaximum[f, {x, x0, x1}] 查寻 f 里的局部极大值,其中 f 使用 x0x1 作为 x 的前两个值,从而避免使用导数。
  • FindMaximum[f, {x, x0, xmin, xmax}] 查寻一个局部极大值,若 x 的范围在xminxmax 之外,则停止查寻。
  • 除了 fcons 都线性化,否则 FindMaximum 的结果只能作为局部量,不能作为全局量或最大量。
  • 缺省的情况下,所有变量假定是实数。
  • fcons 是线性的,xElementIntegers 只指定是整数型的变量。
  • 给出以下选项:
AccuracyGoalAutomatic精确查询
EvaluationMonitorNone当计算 f 值时,运行的表达式
GradientAutomatic梯度函数列表 {D[f, x], D[f, y], ...}
MaxIterationsAutomatic使用迭代的最大数
MethodAutomatic使用的方法
PrecisionGoalAutomatic查询的精度
StepMonitorNone对表达式求值时采取的步长
WorkingPrecisionMachinePrecision内部计算中的精度
  • 在缺省 Automatic 的情况下,Method 的设置包括 "ConjugateGradient""Gradient""LevenbergMarquardt""Newton""QuasiNewton"
x=2 开始,查找一个局部极大值:
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]=
 
1<= x <= 15 的范围内,查询从 x=7 开始的局部极大值:
In[1]:=
Click for copyable input
Out[1]=
 
按照线性和整数的约束条件,找到一个线性函数的局部极大值:
In[1]:=
Click for copyable input
Out[1]=
5 的新功能 | 6 中的修改功能