fminbnd

描述

fminbnd是查找最小用于通过指定的问题的一维最小化

最小值 X F X 这样 X 1 < X < X 2

XX1X2是有限标量,和FX)是一个返回标量的函数。

X= fminbnd(<一个href="#bvadyg6-1-fun" class="intrnllnk">开玩笑,<一个href="#bvadyg6-1-x1" class="intrnllnk">x1,<一个href="#bvadyg6-1-x2" class="intrnllnk">x2返回一个值X这是描述的标量值函数的局部极小化开玩笑在这一期间x1 < x < x2

X= fminbnd(<一个href="#bvadyg6-1-fun" class="intrnllnk">开玩笑,<一个href="#bvadyg6-1-x1" class="intrnllnk">x1,<一个href="#bvadyg6-1-x2" class="intrnllnk">x2,<一个href="#bvadyg6-1-options" class="intrnllnk">选项中指定的优化选项最小化选项。用<一个href="//www.tianjin-qmedu.com/help/techdoc/ref/optimset.html">optimset设置这些选项。

X= fminbnd(<一个href="#bvadyg6-1-problem" class="intrnllnk">问题找到最低的问题,在那里问题是一个结构。

[<一个href="#bvadyg6-1-x" class="intrnllnk">X,<一个href="#bvadyg6-1-fval" class="intrnllnk">FVAL) = fminbnd (___,对于任何输入参数,返回所计算的目标函数的值开玩笑在解决方案X

[<一个href="#bvadyg6-1-x" class="intrnllnk">X,<一个href="#bvadyg6-1-fval" class="intrnllnk">FVAL,<一个href="#bvadyg6-1-exitflag" class="intrnllnk">exitflag) = fminbnd (___另外返回一个值exitflag描述退出条件。

[<一个href="#bvadyg6-1-x" class="intrnllnk">X,<一个href="#bvadyg6-1-fval" class="intrnllnk">FVAL,<一个href="#bvadyg6-1-exitflag" class="intrnllnk">exitflag,<一个href="#bvadyg6-1-output" class="intrnllnk">产量) = fminbnd (___另外返回一个结构产量其中包含有关优化的信息。

例子

全部收缩

输入参数

全部收缩

要最小化的函数,指定为函数句柄或函数名。开玩笑是接受真正的标量函数X并返回一个实标量F(目标函数评估在X)。

指定开玩笑作为一个文件的函数句柄:

x = fminbnd (@myfun (x1, x2)

在哪里myfun是MATLAB®等功能

函数f = myfun(x)的F = ...%计算在x处的函数值

您还可以指定开玩笑作为匿名函数的函数句柄:

X = fminbnd(@(x)的范数(X)^ 2,X1,X2);

例子:有趣= @(X)-x * EXP( - 3 * x)的

数据类型:字符|function_handle|字符串

下界,指定为有限实标量。

例子:X1 = -3

数据类型:

上界,指定为有限实标量。

例子:X2 = 5

数据类型:

优化选项,指定为诸如的结构optimset回报。您可以使用<一个href="//www.tianjin-qmedu.com/help/techdoc/ref/optimset.html">optimset要设置或改变的选项结构这些字段的值。看到<一个href="//www.tianjin-qmedu.com/help/techdoc/math/setting-options.html" class="a">设置优化选项了解详细信息。

显示

显示水平(参见<一个href="//www.tianjin-qmedu.com/help/techdoc/math/iterative-display.html" class="a">优化求解迭代显示):

  • '通知'(默认)仅在函数不收敛时显示输出。

  • “关闭”要么'没有'显示没有输出。

  • 'ITER'在每次迭代中显示输出。

  • “最后一次”只显示最终的输出。

FunValCheck

检查目标函数值是否有效。默认的“关闭”允许fminbnd当目标函数返回值为复杂要么为NaN。的'上'当目标函数返回值时,设置将引发错误复杂要么为NaN

MaxFunEvals

功能评估的最大数量允许的,一个正整数。默认值是500。看到<一个href="//www.tianjin-qmedu.com/help/techdoc/math/setting-options.html" class="a">公差和停止标准

麦克斯特

最大迭代次数允许的,一个正整数。默认值是500。看到<一个href="//www.tianjin-qmedu.com/help/techdoc/math/setting-options.html" class="a">公差和停止标准

OutputFcn

指定优化函数在每次迭代中调用的一个或多个用户定义函数,可以作为函数句柄或函数句柄的单元格数组。默认值为none ([])。看到<一个href="//www.tianjin-qmedu.com/help/techdoc/math/output-functions.html" class="a">优化求解输出函数

PlotFcns

在算法执行时绘制各种进度度量,可以从预定义的绘图中选择,也可以编写自己的绘图。传递一个函数句柄或函数句柄的单元格数组。默认值为none ([])。

  • @optimplotx绘制当前点

  • @optimplotfunccount绘制功能计数

  • @optimplotfval绘制函数值

有关编写自定义绘图函数的信息,请参见<一个href="//www.tianjin-qmedu.com/help/techdoc/math/plot-functions.html" class="a">优化求解函数

TolX

终止上公差X,一个正标量。默认值是1的军医。看到<一个href="//www.tianjin-qmedu.com/help/techdoc/math/setting-options.html" class="a">公差和停止标准

例子:选择= optimset(“显示”,“iter”)

数据类型:结构

问题结构,指定为具有以下字段的结构。

字段名 条目

客观的

目标函数

x1

左端点

x2

右端点

解算器

'fminbnd'

选项

选项结构如返回<一个href="//www.tianjin-qmedu.com/help/techdoc/ref/optimset.html">optimset

获得最简单的方法问题结构是从优化应用程序中导出问题。

数据类型:结构

输出参数

全部收缩

目标函数在解处的值,返回为实数。一般来说,FVAL=有趣的(x)

原因fminbnd停止,返回一个整数。

1

函数收敛到一个解X

0

超过迭代次数options.MaxIter或评价次数超过options.MaxFunEvals

-1

通过输出函数或绘图功能停止。

-2

界限是不一致的x1 > x2

关于优化过程的信息,返回为带有字段的结构:

迭代

采取迭代次数

funcCount

评价次数

算法

“黄金分割搜索,抛物线插值”

信息

退出消息

限制

  • 要最小化的函数必须是连续的。

  • fminbnd可能只能提供局部解决方案。万博 尤文图斯

  • fminbnd当解在区间的边界上时,可以表现出缓慢的收敛性。

算法

fminbnd是一个函数文件。该算法是基于黄金分割搜索和抛物线插值。除非左端点X1非常接近正确的端点X2fminbnd没有评估开玩笑在端点,所以开玩笑只需要定义X在这一期间X1<X<X2

如果最小值在X1要么X2fminbnd返回一个点X在区间的内部(X1X2)是接近极小。在这种情况下,距离X从最小的是没有超过2 *(TolX + 3个* ABS(X)* SQRT(EPS))。看到<一个href="//www.tianjin-qmedu.com/help/techdoc/ref/fminbnd.html" class="intrnllnk">[1]要么<一个href="//www.tianjin-qmedu.com/help/techdoc/ref/fminbnd.html" class="intrnllnk">[2]有关该算法的详情。

参考文献

[1]福赛斯,G. E.,M. A.马尔科姆和C. B. Moler。用于数学计算的计算机方法。新泽西州Englewood Cliffs:Prentice Hall出版社,1976年。

[2]布伦特,理查德。P.无导数的极小化算法。恩格尔伍德悬崖,新泽西州:普伦提兹霍尔,1973年。

扩展功能

R2006a前推出