主要内容

fminbnd

在固定间隔找到最小变量的函数

描述

fminbnd是一个一维最小值,发现问题规定的最低

最小值 x f ( x ) 这样 x 1 < x < x 2

x,x1,x2是有限的标量,f(x)是一个函数,它返回一个标量。

例子

x= fminbnd (<一个href="//www.tatmou.com/au/help/matlab/ref/#bvadyg6-1-fun" class="intrnllnk">有趣的,<一个href="//www.tatmou.com/au/help/matlab/ref/#bvadyg6-1-x1" class="intrnllnk">x1,<一个href="//www.tatmou.com/au/help/matlab/ref/#bvadyg6-1-x2" class="intrnllnk">x2,<一个href="//www.tatmou.com/au/help/matlab/ref/#bvadyg6-1-options" class="intrnllnk">选项)最小化的优化选项中指定选项。使用<一个href="//www.tatmou.com/au/au/help/matlab/ref/optimset.html">optimset设置这些选项。

x= fminbnd (<一个href="//www.tatmou.com/au/help/matlab/ref/#bvadyg6-1-problem" class="intrnllnk">问题)发现的最低标准问题,在那里问题是一个结构。

例子

(<一个href="//www.tatmou.com/au/help/matlab/ref/#bvadyg6-1-x" class="intrnllnk">x,<一个href="//www.tatmou.com/au/help/matlab/ref/#bvadyg6-1-fval" class="intrnllnk">fval)= fminbnd (___),对于任何输入参数,返回的值目标函数计算有趣的在解决方案x

(<一个href="//www.tatmou.com/au/help/matlab/ref/#bvadyg6-1-x" class="intrnllnk">x,<一个href="//www.tatmou.com/au/help/matlab/ref/#bvadyg6-1-fval" class="intrnllnk">fval,<一个href="//www.tatmou.com/au/help/matlab/ref/#bvadyg6-1-exitflag" class="intrnllnk">exitflag)= fminbnd (___)此外,返回一个值exitflag描述退出条件。

例子

(<一个href="//www.tatmou.com/au/help/matlab/ref/#bvadyg6-1-x" class="intrnllnk">x,<一个href="//www.tatmou.com/au/help/matlab/ref/#bvadyg6-1-fval" class="intrnllnk">fval,<一个href="//www.tatmou.com/au/help/matlab/ref/#bvadyg6-1-exitflag" class="intrnllnk">exitflag,<一个href="//www.tatmou.com/au/help/matlab/ref/#bvadyg6-1-output" class="intrnllnk">输出)= fminbnd (___)此外返回一个结构输出包含的信息优化。

例子

全部折叠

输入参数

全部折叠

函数最小化,指定为一个函数处理或函数名。有趣的是一个函数,它接受一个真正的标量吗x并返回一个真正的标量f(目标函数值x)。

指定有趣的作为一个函数处理一个文件:

x = fminbnd (@myfun (x1, x2)

在哪里myfunMATLAB是一种®等功能

函数f = myfun f (x) =…在x %计算函数值

您还可以指定有趣的作为一个匿名函数的函数处理:

x = fminbnd (@ (x)规范(x) ^ 2, x1, x2);

例子:有趣= @ (x) - x * exp (3 * x)

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

下界,指定为一个有限的真正的标量。

例子:x1 = 3

数据类型:

上界,指定为一个有限的真正的标量。

例子:x2 = 5

数据类型:

优化选项,指定为一个结构等optimset的回报。您可以使用<一个href="//www.tatmou.com/au/au/help/matlab/ref/optimset.html">optimset设置或更改这些字段的值在期权结构。看到<一个href="//www.tatmou.com/au/au/help/matlab/math/setting-options.html" class="a">设置优化选项的详细信息。

显示

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

  • “通知”(默认)显示输出只有在函数不收敛。

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

  • “通路”在每一次迭代时显示输出。

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

FunValCheck

检查目标函数值是否有效。默认的“关闭”允许fminbnd继续当目标函数返回一个值复杂的。的“上”设置抛出一个错误当目标函数返回一个值复杂的

MaxFunEvals

最大允许函数值的运算次数,一个正整数。默认值是500年。看到<一个href="//www.tatmou.com/au/au/help/matlab/math/setting-options.html" class="a">公差和停止条件

麦克斯特

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

OutputFcn

指定一个或多个用户定义的函数,一个优化函数调用在每个迭代中,作为处理函数或处理单元阵列的功能。默认是没有([])。看到<一个href="//www.tatmou.com/au/au/help/matlab/math/output-functions.html" class="a">优化解算器输出功能

PlotFcns

情节在算法执行时进步的各种措施,从预定义的情节或编写自己的选择。通过一个函数处理或处理单元阵列的功能。默认是没有([])。

  • @optimplotx情节当前点

  • @optimplotfunccount情节的函数计算

  • @optimplotfval情节的函数值

编写一个定制的情节函数的信息,请参阅<一个href="//www.tatmou.com/au/au/help/matlab/math/plot-functions.html" class="a">优化求解图功能

TolX

终止上公差x,一个积极的标量。默认值是1的军医。看到<一个href="//www.tatmou.com/au/au/help/matlab/math/setting-options.html" class="a">公差和停止条件

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

数据类型:结构体

问题的结构,与以下字段指定为一个结构。

字段名 条目

客观的

目标函数

x1

左端点

x2

正确的端点

解算器

“fminbnd”

选项

选择返回等结构<一个href="//www.tatmou.com/au/au/help/matlab/ref/optimset.html">optimset

数据类型:结构体

输出参数

全部折叠

目标函数值的解决方案,作为一个实数返回。一般来说,fval=有趣的(x)

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

1

功能融合解决方案x

0

迭代次数超过options.MaxIter超过或数量的功能评估options.MaxFunEvals

1

停在一个输出函数或函数。

2

范围不一致,意义x1 > x2

优化过程的信息,作为结构返回字段:

迭代

采取的迭代次数

funcCount

数量的功能评估

算法

黄金分割搜索、抛物线插值的

消息

退出消息

限制

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

  • fminbnd可能只给当地的解决方案。金宝搏官方网站

  • fminbnd展览可以慢收敛时,解决方案是在区间的边界。

算法

fminbnd是一个函数文件。该算法是基于黄金分割搜索和抛物线插值。除非左端点x1非常接近正确的端点x2,fminbnd没有评估有趣的在端点有趣的只需要被定义x在这一期间x1<x<x2

如果最低实际上发生在x1x2,fminbnd返回一个点x内部的时间间隔(x1,x2接近最小值)。在这种情况下,距离x从最小值不超过2 * (TolX + 3 * abs (x) * sqrt (eps))。看到<一个href="//www.tatmou.com/au/au/help/matlab/ref/fminbnd.html" class="intrnllnk">[1]或<一个href="//www.tatmou.com/au/au/help/matlab/ref/fminbnd.html" class="intrnllnk">[2]算法的详细信息。

引用

[1]活力四射,g . E。,M. A. Malcolm, and C. B. Moler.计算机数学计算的方法。恩格尔伍德悬崖,新泽西:Prentice Hall出版社,1976年。

[2]布伦特,Richard。P。没有衍生品的最小化算法。恩格尔伍德悬崖,台北:普伦蒂斯·霍尔出版社,1973年。

扩展功能

之前介绍过的R2006a