- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于MATLAB的科学计算—非线性方程(组)
科学计算—理论、方法
及其基于MATLAB的实现与分析
解非线性方程(组)
(一)直接法
设方程在区间上有唯一解,并且,如方程
(2)
首先要确定适当的包含根的区间,这可以依据闭区间上连续函数的介值定理来确定,例如,,,所以方程 (2)至少有一个实根属于区间,图1表明区间中只含有一个根,显然方程 (2)的根不易直接求得。在区间[-1,0]、[0,1]和[1,2]的情形,如下图1所示
例1 plotNL_fun01.m
plotNL_fun01
clear
x=-1:0.05:2;
f=x.^3-2.3*x.^2+x.*sin(x)+0.3;
plot(x,f,r,x,0*x,k)
title(The Image of f(x)=x^3-2.3*x^2+x*sin(x)+0.3)
xlabel(\fontsize {12} \fontname {宋体} 图1)
axis square
二分法的求根过程:用表示方程在区间上的根,对于给定的精度要求,取区间的中点,并按下式进行判断:
(2)
以为例,如果,那么区间内的任何一点都可以作为方程的近根。二分法适用于一个方程的场合,收敛速度是线性的,二分次数的估计:
(3)
2、黄金分割法:
在区间内取对称的两点:
(4)
使得
按这种方法选取点和,每次去掉的区间长度至少是原区间长度的0.618倍,
(5)
适用于一个方程的场合,收敛速度是线性的,迭代次数的估计:
(6)
(二)迭代法
首先将方程(组)写成等价的迭代形式:
(7)
由此确定了相应的迭代法:
(8)
迭代收敛的图像解释
对于非线性方程(组)的迭代法来说,同样面临收敛性问题,为说明收敛性条件,先看下面的例子:
例2:
让我们来求如下方程的根
下面,我们采用迭代法求方程 (1)位于区间中的根,为此构造迭代算法如下:
(9)
, (10)
在区间中任取一个迭代初值,如取初值.执行下面的程序:EqutIteration.m:
open EqutIteration.m
EqutIteration
N =
29
下面欲求1.5附近的根,为此分别取初值,,迭代的结果如下:
open Ex_IteraConv01
Ex_IteraConv01
N =
31
收敛性定理:(收敛的充分性条件)
设方程在上存在唯一解,是方程的等价形式,如果
1、在上连续可微;
2、对任何,;
3、,
则对任何,由迭代算法
, (11)
生成的序列收敛于方程在上的唯一解。并有误差估计式
.
注1:满足方程的点称为映射的不动点;
注2:具有性质的映射称为压缩映射;
因为,,
,
下面证明误差估计式,因为
,
据此递推,可得
.
于是对任意正整数,有
在上式中令,注意到.
对任意正整数,有
.
令,则有
一点注释:当方程(组)为线性方程(组)时,就是迭代格式 中的矩阵,而就对应着矩阵的范数.
例3: Ex_IteraConv01.m
open Ex_IteraConv01
x=[0.3:0.01:2];
y=(0.3+x.*sin(x))/(x.*(2.3-x));
plot(x,y,x,x)
hold on
m=1;
z=1.4;
while m15
y=(0.3+z*sin(z))/(z*(2.3-z));;
plot([z z],[z y],r,[z y],[y y],r)
z=y;
m=m+1;
pause
end
迭代收敛的图像解释
例4: Ex_IteraConv02.m
open Ex_IteraConv02
Ex_IteraConv02
上面的例子表明了两点:在根附近,迭代法(10)不满足的条件,导致迭代法序列不收敛于此根;在根附近,迭代法(10)尽管也不满足的条件,但所生成的序列收敛于此根.
例5 在用迭代法求解方程的正根时,构造迭代函数,试选取适当的使迭代计算收敛,并计算其迭代3步所得的值.
解: 由于根,故取使.
为使收敛速度快,取使
,
因此迭代公式为.取初值=2,迭代计算,数值结果如下:
显然,这里选取的迭代公式收敛,并且收敛速度较快.
定理 (局部收敛性)设在的邻近连续,且
,
则迭代过程在邻近具有局部收敛性.
收敛速度:如果有
(当时,要求) (29)
则称迭代的收敛速度是阶的。特别地,时称为线性收敛(Linear Convergence),时称为超
文档评论(0)