fzero
根的非线性函数
描述
例子
根从一个点开始
根从一个区间
一个函数定义为一个文件的根
找到一个函数的零f(x)=x3- 2x- 5所示。
首先,写一个文件f.m
。
函数y = f (x) y = x ^ 3 - 2 * * 5;
保存f.m
在你的MATLAB®路径。
的零f(x附近)2
。
有趣= @f;%的功能x0 = 2;%初始点x0, z = fzero(有趣)
z = 2.0946
自f (x)
是一个多项式,你可以找到相同的真正的零,和一对共轭复数的0,使用根
命令。
根([1 0 2 5])
答我-1.0473 - 1.1359 = 2.0946 - -1.0473 + 1.1359
根功能的额外参数
发现一个函数的根有一个额外的参数。
myfun = @ (x, c) cos (x c *);%参数化函数c = 2;%的参数有趣= @ (x) myfun (x, c);% x的函数x = fzero(有趣,0.1)
x = 0.7854
默认的选项
情节的解决方案过程中通过设置一些情节功能。
定义函数和初始点。
有趣= @ (x)罪(cosh (x));x0 = 1;
检查解决方案过程设置选项,包括情节功能。
选择= optimset (“PlotFcns”,{@optimplotx, @optimplotfval});
运行fzero
包括选项
。
x = fzero(有趣,x0,选项)
x = 1.8115
解决问题的结构
解决问题所定义的结构问题。
定义一个结构,编码一个root-finding问题。
问题。目标= @ (x)罪(cosh (x));问题。x0 = 1;问题。解算器=“fzero”;%所需结构的一部分问题。选项= optimset(@fzero);%的缺省选项
解决这个问题。
x = fzero(问题)
x = 1.8115
从解决方案的更多信息
找到的地方exp (exp (- x)) = x
和显示的信息解决方案的过程。
有趣= @ (x) exp (exp (- x)) - x;%的功能0 x0 = [1];%初始区间选择= optimset (“显示”,“通路”);%显示迭代[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.40255 0.567143 e-08插值6 0.567143 - 1.50013 e-12插值7 0插值零区间[0,1]中的
x = 0.5671
fval = 0
exitflag = 1
输出=结构体字段:intervaliterations: 0迭代:5 funcCount: 7算法:“二分,插值”的信息:“零区间[0,1]中发现的
fval
= 0意味着有趣的(x) = 0
,如预期。
输入参数
x0
- - - - - -初始值
标量|2-element向量
初始值,指定为一个真正的标量或2-element向量。
标量。
fzero
始于x0
并试图找到一个点x1
在哪里乐趣(x1)
相反的迹象吗乐趣(x0)
。然后fzero
迭代收缩的间隔有趣的
变化迹象达成解决方案。2-element向量,
fzero
检查乐趣(x0 (1))
和乐趣(x0 (2))
有相反的迹象,和错误,如果他们不这样做。然后迭代收缩的间隔有趣的
变化迹象达成解决方案。一个区间x0
必须是有限的;它不能包含±正
。
提示
调用fzero
(一个区间x0
有两个元素)通常是速度比调用一个标量x0
。
例子:3
例子:(2,17)
数据类型:双
选项
- - - - - -解决方案的选择过程
结构,通常使用optimset
解决方案的选择过程,指定为一个结构。创建或修改选项
结构使用optimset
。fzero
使用这些选项
结构字段。
|
显示(见水平迭代显示):
|
|
检查目标函数值是否有效。
|
|
指定一个或多个用户定义的函数,一个优化函数调用在每个迭代中,作为处理函数或处理单元阵列的功能。默认是没有( |
|
情节在算法执行时各种措施的进展。从预定义的情节或编写自己的选择。通过一个函数处理或处理单元阵列的功能。默认是没有(
自定义函数使用相同的语法作为输出函数。看到输出函数优化工具箱和输出函数和情节函数的语法。 |
|
终止上公差 |
例子:选择= optimset (“FunValCheck”,“上”)
数据类型:结构体
问题
- - - - - -Root-finding问题
结构
输出参数
x
——根或标志的位置变化
真正的标量
根或标志的位置变化,作为一个标量返回。
fval
——函数值x
真正的标量
函数值在x
,作为一个标量返回。
exitflag
-整数编码的退出条件
整数
整数编码的退出条件,意义的原因fzero
停止迭代。
|
功能融合解决方案 |
|
算法的终止输出函数或情节。 |
|
|
4 |
复杂的函数值时遇到了寻找一个区间,其中包含一个信号改变。 |
5 |
算法可能会聚集到一个奇点。 |
6 |
|
输出
——root-finding过程的信息
结构
root-finding信息过程中,作为一个结构返回。结构的字段有:
intervaliterations |
的迭代次数,找到一个包含一个根间隔 |
迭代 |
zero-finding的迭代次数 |
funcCount |
数量的功能评估 |
算法 |
|
消息 |
退出消息 |
选择功能
应用程序
的优化住编辑任务提供了一个可视化界面fzero
。
引用
[1]布伦特,R。没有衍生品的最小化算法,普伦蒂斯·霍尔出版社,1973年。
[2]活力四射,g . E。,M. A. Malcolm, and C. B. Moler,计算机数学计算的方法,普伦蒂斯·霍尔出版社,1976年。
扩展功能
C / c++代码生成
生成C和c++代码使用MATLAB®编码器™。
对于C / c++代码生成:
的
有趣的
处理输入参数必须是一个函数,而不是一个结构或特征向量。fzero
除了忽略所有选项TolX
和FunValCheck
。fzero
不支持第四输出参数金宝app,输出结构。
版本历史
之前介绍过的R2006a
Apri esempio
如果dispone di una versione modificata di questo esempio。Desideri aprire questo esempio con le modifiche星期二吗?
第一MATLAB
海脂肪clic苏联合国collegamento切corrisponde questo第一MATLAB:
Esegui il第一inserendolo所以nella隙缝di第一MATLAB。我浏览器web非supportano金宝app comandi MATLAB。
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。