主要内容

Fzero.

非线性函数的根

描述

例子

X= fzero(乐趣X0.试图找到一个点X在哪里有趣(x)= 0。这个解决方案是在哪里有趣(x)变化签名 -Fzero.找不到函数的根源,如x ^ 2

例子

X= fzero(乐趣X0.选项使用选项修改解决方案过程。

例子

X= fzero(问题解决了根本发现的问题问题

例子

[Xfval.ExitFlag.输出] = fzero(___回报有趣(x)在里面fval.输出,ExitFlag.编码原因Fzero.停止,以及包含关于解决方案过程信息的输出结构。

例子

全部收缩

计算 π 通过查找附近的正弦功能的零3.

有趣= @sin;% 功能x0 = 3;%初始点x = fzero(乐趣,x0)
x = 3.1416.

找到余弦之间的零12

有趣= @cos;% 功能x0 = [1 2];%初始间隔x = fzero(乐趣,x0)
x = 1.5708.

注意 COS. 1 COS. 2 符号不同。

找到函数的零FX)=X3.- 2X- 5。

首先,写一个名为调频

功能y = f(x)y = x。^ 3-2 * x-5;

节省调频在你的matlab上®小路。

找到零FX) 靠近2

有趣= @f;% 功能x0 = 2;%初始点z = fzero(乐趣,x0)
Z = 2.0946.

自从f(x)是多项式,你可以找到相同的真实零,以及一个复杂的共轭对零,使用命令。

根([1 0 -2 -5])
ANS = 2.0946 -1.0473 + 1.1359i -1.0473  -  1.1359i

找到具有额外参数的函数的根。

myfun = @(x,c)cos(c * x);%参数化函数c = 2;% 范围有趣= @(x)myfun(x,c);单独x的%函数x = fzero(乐趣,0.1)
x = 0.7854.

通过设置一些绘图函数来绘制解决方案过程。

定义函数和初始点。

有趣= @(x)sin(cosh(x));x0 = 1;

通过设置包含绘图函数的选项来检查解决方案过程。

选项= OptimSet('plotfcns',{@ OptimplotX,@ OptimplotFval});

跑步Fzero.包含选项

x = fzero(有趣,x0,选项)

x = 1.8115.

解决问题结构定义的问题。

定义编码根发现问题的结构。

问题.Objective = @(x)sin(cosh(x));问题.x0 = 1;问题.Solver =.'fzero';%是结构的所需部分问题.Options = OptimSet(@Fzero);%默认选项

解决这个问题。

x = fzero(问题)
x = 1.8115.

找到点exp(-xexp(-x))= x,并显示有关解决方案过程的信息。

fun = @(x)exp(-xexp(-x)) -  x;% 功能x0 = [0 1];%初始间隔选项= OptimSet('展示''iter');%显示迭代[x fval ExitFlag输出] = Fzero(有趣,X0,选项)
Func-count x f(x)步骤2 1 -0.307799初始3 0.544459 0.0153522插值4 0.566101 0.00070708插值5 0.567143 -1.402552-08插值6 0.567143 1.567143 1.567143 1.500132-12插值7 0.567143 0插值零在间隔中找到[0,1]
x = 0.5671.
fval = 0.
EXITFLAG = 1
输出=结构与字段:funcCount: 7 algorithm: 'bisection, interpolation' message: ' 0 found in the interval [0,1]'

fval.= 0手段有趣(x)= 0, 如预期的。

输入参数

全部收缩

要解决的功能,指定为标准值函数的句柄或此类功能的名称。乐趣接受标量X并返回标量有趣(x)

Fzero.解决有趣(x)= 0。解决方程有趣(x)= c(x)而是解决fun2(x)= fun(x) - c(x)= 0

要在功能中包含额外参数,请参阅示例额外参数的功能根和部分通过额外的参数

例子:'罪'

例子:@myfunction.

例子:@(x)(x-a)^ 5 - 3 * x + a - 1

数据类型:char|function_handle.|细绳

初始值,指定为真正的标量或2元元真实矢量。

  • 标量 -Fzero.开始X0.并试图找到一个点X1在哪里有趣(x1)有相反的标志有趣(x0)。然后Fzero.迭代地缩小了间隔的地方乐趣更改标志达到解决方案。

  • 2元素矢量 -Fzero.检查有趣(x0(1))乐趣(x0(2))有相反的迹象,如果没有,则错误。然后它迭代地缩小了在其中的间隔乐趣更改标志达到解决方案。间隔X0.必须是有限的;它不能包含±INF.

小费

打电话Fzero.间隔(X0.使用两个元素)通常比使用标量调用它要快X0.

例子:3.

例子:[2,17]

数据类型:双倍的

解决方案过程选项,指定为结构。创建或修改选项结构使用优化集Fzero.使用这些选项结构字段。

展示

显示水平(见迭代显示):

  • '离开'显示无输出。

  • 'iter'在每次迭代时显示输出。

  • '最后'显示最终输出。

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

funvalcheck.

检查客观函数值是否有效。

  • '在'当目标函数返回值时显示错误复杂的INF., 要么

  • 默认值,'离开',显示没有错误。

outputfcn.

指定一个或多个用户定义的函数,即在每个迭代时进行优化函数调用,作为函数句柄或作为功能句柄的单元格数组。默认值为none([])。看输出功能和绘图函数语法

Plotfcns.

在算法执行时绘制各种进度措施。从预定义的地块中选择或写自己的。通过功能句柄或功能句柄的单元格数组。默认值为none([])。

  • @Optimplotx.绘制当前点。

  • @OptimplotFval.绘制函数值。

自定义绘图功能使用与输出功能相同的语法。看优化工具箱™的输出功能输出功能和绘图函数语法

托克斯

终止宽容X,一个正标量。默认为eps.,2.2204E-16。看公差和停止标准

例子:选项= OptimSet('funvalcheck','开')

数据类型:塑造

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

客观的

目标函数

X0.

初始点X,标量或2-D载体

求解器

'fzero'

选项

选项结构,通常使用使用优化集

数据类型:塑造

输出参数

全部收缩

根或标志更改的位置,作为标量返回。

函数值at.X,作为标量返回。

整数编码退出条件,这意味着原因Fzero.停止了它的迭代。

1

功能融合到解决方案X

-1

输出函数或绘图函数终止算法。

-3

要么INF.在搜索包含符号更改的间隔时遇到函数值。

-4

搜索包含符号更改的间隔的同时遇到复杂函数值。

-5

算法可能会融合到一个奇点。

-6

Fzero.没有检测到一个标志变化。

关于根查找过程的信息,作为结构返回。结构的字段为:

间隔

找到包含root的间隔的迭代次数

迭代

零发现迭代次数

Funccount.

功能评估数量

算法

'二分,插值'

信息

退出消息

算法

Fzero.命令是函数文件。由T. DEKKER创建的算法使用了双分,SECANT和反二次插值方法的组合。allol 60版本,具有一些改进[1]。一个福特兰语版本,在哪个Fzero.是基于,在[2]

替代功能

应用程序

优化Live Editor任务提供可视界面Fzero.

参考文献

[1]布伦特,R.,无衍生物的最小化算法,Prentice-Hall,1973年。

[2] Forsythe,G.E.,M.A.A.Malcolm和C. B. moler,数学计算的计算机方法,Prentice-Hall,1976年。

扩展能力

在R2006A之前介绍