主要内容

一元函数零点

非线性功能的根

描述

例子

x= fzero (有趣的x0试图找到一点x哪里有趣的(x) = 0.这个解决方案在哪里乐趣(x)变化迹象,一元函数零点无法找到一个函数的根,例如x^2

例子

x= fzero (有趣的x0选择权用途选择权修改解决方案流程。

例子

x= fzero (问题解决由指定的根查找问题问题

例子

xfvalexitflag输出]=f零(___返回乐趣(x)在里面fval输出,exitflag编码原因一元函数零点以及包含解决方案流程信息的输出结构。

例子

全部折叠

计算 π 通过求正弦函数的零3.

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

求cos (012

有趣= @cos;%的功能x0=[12];%初始间隔x=F零(乐趣,x0)
x = 1.5708

注意 因为 1 因为 2 不同的信号。

求函数的零fx) =x3.– 2x– 5.

首先,编写一个名为f.m

函数Y = f(x) Y = x.^3 - 2*x - 5;

保存f.m在你的MATLAB®路径

求零点fx)接近2

fun=@f;%的功能x0=2;%初始点x0, z = fzero(有趣)
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;% 范围fun=@(x)myfun(x,c);%仅x的函数x=F零(乐趣,0.1)
x = 0.7854

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

定义函数和初始点。

fun=@(x)sin(cosh(x));x0=1;

通过设置包含打印功能的选项来检查解决方案流程。

选项=优化集(“PlotFcns”,{@optimplotx,@optimplotfval});

一元函数零点包括选择权

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

Figure Optimization Plot Function包含2个轴对象。标题为“当前点”的轴对象1包含一个类型为bar的对象。带有标题的轴对象2当前功能值:-3.21625e-16包含一个类型为line的对象。

x = 1.8115

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

定义对根查找问题进行编码的结构。

问题。目标= @ (x)罪(cosh (x));问题。x0 = 1;问题。解算器=“fzero”%结构的必要部分问题。选择权= optimset(@fzero);%默认选项

解决这个问题。

x = fzero(问题)
x = 1.8115

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

fun=@(x)exp(-exp(-x))-x;%的功能X0 = [0 1];%初始间隔选项=优化集(“显示”“通路”);%显示迭代[x fval exitflag输出]=fzero(乐趣、x0、选项)
Func count x f(x)过程2 1-0.307799初始值3 0.544459 0.0153522插值4 0.566101 0.000708插值5 0.567143-1.40255e-08插值6 0.567143 1.50013e-12插值7 0.567143 0在区间[0,1]中找到插值零
x = 0.5671
fval = 0
exitflag = 1
输出=结构体字段:间隔:0迭代:5 Funccount:7算法:'二分,插值'消息:'零在间隔[0,1]'中找到

fval= 0意味着有趣的(x) = 0,视需要而定。

输入参数

全部折叠

要求解的函数,指定为标量值函数的句柄或此类函数的名称。有趣的接受一个标量x并返回一个标量乐趣(x)

一元函数零点解决有趣的(x) = 0. 解方程乐趣(x)=c(x),而不是解决fun2(x)=fun(x)-c(x)=0

要在函数中包含额外参数,请参见示例带附加参数函数的根和部分参数化功能

例子:“罪”

例子:@我的功能

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

数据类型:烧焦|function_handle|一串

初始值,指定为实标量或2元素实向量。

  • 标量-一元函数零点开始于x0并试图找到一个点x1哪里乐趣(x1)具有相反的符号乐趣(x0)然后一元函数零点迭代地缩小其中的间隔有趣的更改标志以达成解决方案。

  • 2-element向量,一元函数零点检查那个乐趣(x0 (1))乐趣(x0 (2))有相反的符号,否则就是错误。然后迭代地缩小间隔有趣的更改标志以达成解决方案。间歇x0必须是有限的;它不能包含±INF.

提示

使命感一元函数零点间歇(x0有两个元素)通常比用标量称之为速度更快x0

例子:3.

例子:(2, 17)

数据类型:双重的

解决方案过程的选项,指定为结构。创建或修改选择权结构使用优化集一元函数零点使用这些选择权结构字段。

陈列

显示:

  • “关”不显示任何输出。

  • “通路”显示每次迭代的输出。

  • “决赛”仅显示最终输出。

  • “通知”(默认)仅当函数不收敛时才显示输出。

欢乐支票

检查目标函数值是否有效。

  • “上”当目标函数返回值为时显示错误复杂的INF.

  • 默认值,“关”,则不显示任何错误。

输出FCN

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

PlotFcns

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

  • @optimplotx绘制当前点。

  • @最佳双翼绘制函数值。

有关编写自定义打印函数的信息,请参见优化求解函数

TolX

端接公差x,一个正标量。默认值为每股收益2.2204 e-16。

例子:选择= optimset(“FunValCheck”,“上”)

数据类型:结构体

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

客观的

目标职能

x0

初始点x,实标量或二元向量

解算器

“fzero”

选择权

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

例如,请参见解决问题结构

数据类型:结构体

输出参数

全部折叠

根或符号变化的位置,作为标量返回。

函数值在x,作为标量返回。

整数编码退出条件,表示原因一元函数零点停止迭代。

1

功能融合到解决方案x

-1

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

-3

INF.在搜索包含符号变化的区间时遇到函数值。

-4

在搜索包含符号变化的区间时,遇到了复函数值。

-5

算法可能已经收敛到一个奇点。

-6

一元函数零点没有发现迹象变化。

有关root-minding过程的信息,作为结构返回。结构的领域是:

intervaliterations

为寻找包含根的区间所进行的迭代次数

迭代

寻零迭代次数

funcCount

函数计算次数

算法

“二分,插值”

消息

退出消息

算法

一元函数零点命令是一个函数文件。该算法由T.Dekker创建,使用了二分法、割线法和逆二次插值法的组合。中给出了Algol 60版本,并进行了一些改进[1].一个Fortran版本,基于一元函数零点是基于,是在[2]

选择功能

应用程序

优化实时编辑器任务为一元函数零点

参考

[1] 布伦特,R。,无导数极小化算法,普伦蒂斯·霍尔出版社,1973年。

G. E. Forsythe, M. A. Malcolm, C. B. Moler,数学计算的计算机方法,普伦蒂斯·霍尔出版社,1976年。

扩展能力

之前介绍过的R2006a