函数公式网 高中函数 MATLAB的fzero函数求解单变量非线性方程

MATLAB的fzero函数求解单变量非线性方程

MATLAB 可以使用 fzero 函数求解单变量非线性方程的根。

1.fzero函数

求解单变量非线性方程的函数函数

语法
x = fzero(乐趣,x0)
x = fzero(乐趣,x0,选项)
x = fzero(问题)
[x, fval, exitflag, 输出] = fzero()
阐明
x = fzero(fun,x0) 试图找到 fun(x)=0 的点 x。
此解决方案是 fun(x) 改变符号的地方 - fzero 无法找到 x^2 等函数的根。
x=fzero(fun,x0,options) 使用选项修改求解过程。
x=fzero(problem) 解决由 problem 指定的求根问题。
[x,fval,exitflag,output]=fzero(___) 返回 fun(x)(在 fval 输出中),
一个编码 fzero 停止原因的 exitflag,以及一个包含有关求解过程信息的输出结构。


2. 示例 1

程序

clc;
清除所有;
关闭所有;
f=@(x) x.^2-1;
x0=-0.25:0.001:0.25;
x=x0; % 初始化
对于 ii=1:length(x0)
x(ii)=fzero(f,x0(ii));
结尾
情节(x0,x,'-o')
xlabel('初始值');
ylabel('方程的根');
axis([-0.3,0.3,-1.5,1.5])

运行结果

3。 例2

程序


clc;
清除所有;
关闭所有;
符号 x
% 画出函数的图像,对函数有一个大概的印象
t=-10:0.01:10;
y=sin(t).^2.*exp(-0.1*t)-0.5*abs(t);
图(t,y)
坚持,稍等
情节([-10 10],[0 0],'k');
%从图像中,我们可以看到 y 在 x=[-2-1 0 1 2] 附近的值处为零。 接下来,我们将使用 fzero 找出零点。
f=@(t)sin(t).^2.*exp(-0.1*t)-0.5*abs(t)
% 第一种方法使用 arrayfun
%x=[-2 -1 0 1 2];
%arrayfun(@(x)fzero(f,x),x)
%第二种方法,分别带入
[x1 y]=fzero(f,-2)
[x2,y]=fzero(f,-1)
[x3,y]=fzero(f,0)
[x4,y]=fzero(f,1)
[x5,y]=fzero(f,2)

运行结果

x1 =
-2.0074
y =
2.2204e-16
x2 =
-0.5198
y =
-5.5511e-17
x3 =
0
y =

0
x4 =
0.5993
y =
0
x5 =
1.6738
y =
2.2204e-16


4. 例3

通过设置一些绘图函数绘制求解过程。 定义函数和初始点。

程序

clc;
清除所有;
关闭所有;
乐趣 = @(x)sin(cosh(x));
x0 = 1;
% 通过设置包括绘图函数在内的选项来检查求解过程。
options = optimset('PlotFcns',{@optimplotx,@optimplotfval});
x = fzero(fun,x0,options)

运行结果

x =

1.8115


5. 例4

找到exp(-exp(-x)) = x 的点并显示求解过程的信息。

程序

clc;
清除所有;
关闭所有;
乐趣 = @(x) exp(-exp(-x)) - x; % 功能
x0 = [0 1]; % 初始间隔
options = optimset('显示','iter'); % 显示迭代
[x fval exitflag output] = fzero(fun,x0,options)

运行结果

函数计数 x f(x) 过程
2 1 -0.307799 初始
3 0.544459 0.0153522 插值
4 0.566101 0.00070708 插值
5 0.567143 -1.40255e-08 插值
6 0.567143 1.50013e-12 插值
7 0.567143 0 插值

在区间 [0, 1] 中找到一个零

x =

0.5671

fval =

0

退出标志=

1个

输出=

包含以下字段的结构:

间隔迭代:0
迭代次数:5
函数数:7
algorithm: '二分,插值'
message: '在区间[0, 1]中发现了一个零'


本文内容来源于网络,仅供参考,如有疑问请私信。 内容和图片如有版权问题,请联系处理,24小时内删除。

作者| 郭志龙编辑 | 郭志龙校对 | 郭志龙

本文来自网络,不代表函数公式网立场,转载请注明出处:https://www.cyhsb.com/gzhs/1163.html

MATLAB drawing之stairs函数绘制梯形图

R语言数据分析——R语言绘图命令

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

返回顶部