第二章非线性方程组精选文档.ppt
《第二章非线性方程组精选文档.ppt》由会员分享,可在线阅读,更多相关《第二章非线性方程组精选文档.ppt(60页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第二章非线性方程组本讲稿第一页,共六十页2.1 引言引言一、人口增长模型一、人口增长模型设人口数量随着时间以固定的相对增长率变化设人口数量随着时间以固定的相对增长率变化.令令N(t)为为t 时刻的人口数量时刻的人口数量.:人口出生率人口出生率.1 1)人口数量的微分方程模型人口数量的微分方程模型:2)2)指数模型指数模型:N0 0:初始初始时时刻人口数量刻人口数量.如果允许移民移入且移入速率如果允许移民移入且移入速率v为固定常数,则为固定常数,则3)3)有移民移入的指数模型有移民移入的指数模型:非线性方程非线性方程(组组)本讲稿第二页,共六十页假设假设某地区开始有某地区开始有100000010
2、00000人人,在第一年有在第一年有435000435000人移民进入该地区人移民进入该地区,假设假设在第一年底该地区的人数在第一年底该地区的人数量是量是154000154000。得该地区人口得该地区人口的出生率。的出生率。通过求解方程通过求解方程【注注】非线性方程非线性方程可以求出数值解可以求出数值解。非线性方程非线性方程(组组)本讲稿第三页,共六十页上述这些问题,都归结为上述这些问题,都归结为求非线性函数方程的零点求非线性函数方程的零点,即求,即求x*,使使非线性方程非线性方程:对于多项式,对于多项式,5 5次及次及5 5次以上的方程无求根公式次以上的方程无求根公式。超越方程求根也如此。超
3、越方程求根也如此。多项式方程及超越方程通常用数值方法求近似解。多项式方程及超越方程通常用数值方法求近似解。非线性方程组非线性方程组:非线性现象广泛存在于物质世界与社会生活中非线性现象广泛存在于物质世界与社会生活中。二、数值求解方程(组)的必要性二、数值求解方程(组)的必要性非线性方程非线性方程(组组)本讲稿第四页,共六十页若若f(x)=0)=0为实系数的代数方程,为实系数的代数方程,则则复数根成对出现,复数根成对出现,设设f(x)=0)=0为具有复系数的为具有复系数的n次代数方程,次代数方程,则则f(x)=0)=0于复数域上恰有于复数域上恰有 n 个根个根(r重根计算重根计算r个个)。也是也是
4、f(x)=0)=0的根。的根。即当即当 是是 f(x)=0)=0 的复根,的复根,则则 (2 2)则则f(x)在在 a,b 内有根,内有根,称称 a,b 为为有根区有根区间间。若若f(x)在在 a,b 上上严严格格单调单调,则则 a,b 内有且内有且仅仅有一根有一根x*.(1)根的分离根的分离(2)近似根的精确化近似根的精确化 本章问题本章问题:【定理定理1 1】(代数基本定理代数基本定理)【定理定理2 2】如果如果(1 1)f(x)在区间在区间a,ba,b上连续上连续三、方程求根的理论依据三、方程求根的理论依据非线性方程非线性方程(组组)本讲稿第五页,共六十页例例1 1求方程的有根区求方程的
5、有根区间间 f(x)为单调为单调增函数增函数.内最内最多只有一个实根。多只有一个实根。例例2 2 的有根区的有根区间间。求方程求方程 解解 根据有根区根据有根区间间定定义义,对对f(x)=0的根进行搜索计算,的根进行搜索计算,x0 1 2 3 4 5 60 1 2 3 4 5 6 f(x)的符号的符号-+-+-+-+解解 因为因为f(x)在在内内连续连续,而且而且则则f(x)在在又因为又因为f(0)0,所以所以0,2是是所求区所求区间间.。非线性方程非线性方程(组组)本讲稿第六页,共六十页解解 因因为为f(x)在在 内内连续连续,要判要判别别方程有方程有3 3个个实实根根,即即要判别要判别f(
6、x)与与x轴轴有有3 3个交点个交点,只只须须判判别别有有3 3个个有根区间有根区间,且且每个区间内只有一个根每个区间内只有一个根.MATLAB画图确定有根区间画图确定有根区间。x=-1:0.01:4;y=exp(x)-3*x.2;判别函数的有根区间判别函数的有根区间 plot(x,y,r,x,0*x),grid on由函数图由函数图2-22-2可判别,可判别,3 3个有根个有根区间分别为:区间分别为:-1,0-1,0,0.5,10.5,1,3.5,4.3.5,4.非线性方程非线性方程(组组)例例3 判别方程判别方程 f(x)=ex-3x2=0 有有3 3个个实实根。根。本讲稿第七页,共六十页
7、2.2二分法二分法设设函数函数在在上上连续连续、严严格格单调单调,且且,则则内有且内有且仅仅有一根有一根。反复对分,从而逐步缩小有根区间,直至反复对分,从而逐步缩小有根区间,直至满足精度为止。满足精度为止。二分法几何示意图二分法几何示意图 若若则则为为所求根;所求根;否否则则(1)(1)若若,则则令令(2)(2)若若,则则令令 形成新的有根区形成新的有根区间间 长长度度仅为仅为 的一半的一半.理论依据理论依据:基本思想基本思想:二分法步骤二分法步骤:非线性方程非线性方程(组组)本讲稿第八页,共六十页0 0这是因为这是因为例例4 4 求求在区在区间间内的根,内的根,解解 1 1)确定有根区间:确
8、定有根区间:方程在(方程在(2,3)内有唯一根内有唯一根.2 2)确定二分次数:确定二分次数:3 3)二分计算二分计算:二分法终止条件二分法终止条件反复二分下去,得到一系列有根区间:反复二分下去,得到一系列有根区间:非线性方程非线性方程(组组)本讲稿第九页,共六十页k0(2,3)(2,3)2.52.55.6255.6251 12 23 34 45 56 6(2,2.5)(2,2.5)(2,2.25)(2,2.25)(2,2.125)(2,2.125)(2.0625,2.125)(2.0625,2.125)(2.09375,2.125)(2.09375,2.125)(2.09375,2.1093
9、75)(2.09375,2.109375)2.252.252.1252.1252.06252.06252.093752.093752.1093752.1093752.10156252.10156251.8906251.8906250.3457030.345703-0.351318-0.351318-0.008942-0.0089420.1668360.1668360.07856220.07856227 7(2.09375,2.1015625)(2.09375,2.1015625)2.0976562.097656 算法直观、简单算法直观、简单.一定收敛一定收敛.收敛速度较慢收敛速度较慢.二分法优
10、点二分法优点二分法缺点二分法缺点二分计算结果二分计算结果非线性方程非线性方程(组组)本讲稿第十页,共六十页%求解非线性方程的二分法,其中,求解非线性方程的二分法,其中,function xstar,index,it=bisect(fun,a,b,ep)%fun%fun为需要求根的函数;为需要求根的函数;%a,b%a,b为初始区间的端点;为初始区间的端点;%ep%ep为精度,缺省值为为精度,缺省值为1e-51e-5,%当(当(b-ab-a)/2ep/2ep时,算法终止;时,算法终止;%xstar%xstar为当迭代成功时,输出方程的根,为当迭代成功时,输出方程的根,%当迭代失败时,输出两端点的函
11、数值当迭代失败时,输出两端点的函数值;%index%index为指标变量,为指标变量,%index=1%index=1时,表明迭代成功,时,表明迭代成功,%index=0%index=0时,表明初始区间不是有根区间;时,表明初始区间不是有根区间;%it%it为迭代次数为迭代次数.if nargin0二分法的二分法的MATLABMATLAB程序:程序:bisect.mbisect.m非线性方程非线性方程(组组)本讲稿第十一页,共六十页 xstar=fa,fb;index=0;it=0;returnendk=0;while abs(b-a)/2=ep x=(a+b)/2;fx=feval(fun,
12、x);if fx*fa0 b=x;fb=fx;else a=x;fa=fx;end k=k+1;xstar=(a+b)/2;index=1;it=kend例例4 4 编写编写 求根函数求根函数 function f=fun1(x)调用调用 函数函数bisect.mbisect.m xstar,index,it=bisect(fun1,2,3,0.005)xstar=2.0977index=1 it=7f=x3-2*x-5;非线性方程非线性方程(组组)本讲稿第十二页,共六十页2.3 2.3 迭代法及其收敛性迭代法及其收敛性逐次逼近方法逐次逼近方法(1)等价方程等价方程:(2)迭代公式:迭代公式:
13、(3)取取,得序列得序列(4)当当时时,称,称为为迭代收迭代收敛敛 取取称称为为函数函数的不的不动动点,点,为为迭代函数迭代函数,求得方程不动点的方法,称为求得方程不动点的方法,称为不动点迭代法不动点迭代法。2.3.1 2.3.1 不动点迭代不动点迭代一、迭代过程及迭代法基本思想一、迭代过程及迭代法基本思想步骤步骤非线性方程非线性方程(组组)本讲稿第十三页,共六十页例例5 5 考察考察1 1)2 2)3 3)取取数值计算结果数值计算结果。二、迭代过程几何解释二、迭代过程几何解释三、构造迭代函数三、构造迭代函数非线性方程非线性方程(组组)本讲稿第十四页,共六十页 (情形情形1 1)(情形情形2
14、2)(情形情形3 3)0 01 12 23 32.02.03.03.09.09.087.087.02.02.01.51.52.02.01.51.52.02.01.751.751.7321431.7321431.7320511.732051的迭代例子的迭代例子(1 1)收敛性及误差估计收敛性及误差估计(2)收敛速度收敛速度迭代公式迭代公式 问题问题2.3.2 2.3.2 迭代法的收敛性迭代法的收敛性非线性方程非线性方程(组组)本讲稿第十五页,共六十页由于由于只要只要则则 保保证证迭代迭代值值全落在全落在内内 满足条件:满足条件:(1)映内性映内性:(2 2)压缩性压缩性:(压缩压缩因子因子L0)
15、解:解:取取 使收速度快使收速度快 迭代公式迭代公式 初初值值x0=2【注注】尽量小尽量小,可使迭代计算加速收敛可使迭代计算加速收敛。非线性方程非线性方程(组组)本讲稿第二十一页,共六十页p阶阶收收敛敛 (收敛阶)(收敛阶)如果在如果在根根的邻近连续,并且的邻近连续,并且,则该迭代过程在根邻近是则该迭代过程在根邻近是 p阶收敛阶收敛.证明证明 则迭代过程则迭代过程具有具有局部收敛性局部收敛性.作泰勒展开作泰勒展开【定义定义1 1】线性收敛线性收敛 p=1 超线性收敛超线性收敛 p1 平方收敛平方收敛 p=2【注注】(1 1)0L1,0L1,线性收敛线性收敛 (2 2)L=0,L=0,超线性收敛
16、超线性收敛 (3 3)P P 越大,迭代过程收敛越快越大,迭代过程收敛越快.【定理定理5 5】非线性方程非线性方程(组组)本讲稿第二十二页,共六十页P 阶收敛阶收敛.方程方程 x2-3=0 取取 P=2取取 线性收敛线性收敛 不动点迭代法的不动点迭代法的MATLABMATLAB程序程序:iterate.miterate.mfunction xstar,index,itfunction xstar,index,it=iterate(phi,x,ep,it_max)=iterate(phi,x,ep,it_max)%求解非线性方程的一般迭代法,其中求解非线性方程的一般迭代法,其中%phi(x)%p
17、hi(x)为迭代函数,为迭代函数,x x为初始点;为初始点;例例非线性方程非线性方程(组组)本讲稿第二十三页,共六十页%ep%ep为精度,缺省值为为精度,缺省值为1e-5,1e-5,%当当x(k)-x(k-1)x(k)-x(k-1)ep=it_max,=it_max,失败;失败;%it%it为迭代次数为迭代次数.if nargin4 it_max=100;endif nargin3 ep=1e-5;endindex=0;k=1;while k=it_max x1=x;x=feval(phi,x);if abs(x-x1)=ep index=1;break;end k=k+1;endxstar=
18、x;it=k;非线性方程非线性方程(组组)本讲稿第二十四页,共六十页编写编写例例7 7迭代函数,函数名为迭代函数,函数名为phi.mphi.mfunction f=phi(x)function f=phi(x)f=exp(-x);f=exp(-x);求方程的根:求方程的根:xstar,index,it=iterate(phi,0.5,1e-5)xstar,index,it=iterate(phi,0.5,1e-5)或或xstar,index,it=iterate(phi,0.5,1e-5)xstar,index,it=iterate(phi,0.5,1e-5)得到得到 xstar=0.5671
19、xstar=0.5671,index=1index=1,it=18it=18收敛较慢收敛较慢 xk 收敛快的收敛快的 方程方程2.4 2.4 迭代收敛的加速方法迭代收敛的加速方法2.4.1 2.4.1 埃特金加速埃特金加速非线性方程非线性方程(组组)本讲稿第二十五页,共六十页取取则有则有 则则【注注】的收敛速度的收敛速度 的收敛速度快的收敛速度快.(K=0,1,2,.)第一次校正第一次校正第二次校正第二次校正埃特金加速算法埃特金加速算法2.4.2 2.4.2 斯蒂芬森迭代法斯蒂芬森迭代法非线性方程非线性方程(组组)本讲稿第二十六页,共六十页例例9 9 解方程解方程 解解 发散发散 利用斯蒂芬森
20、迭代利用斯蒂芬森迭代 取取 kXkykzk01.52.3750012.396611.416291.840925.2388821.355651.491402.3172831.328951.347101.4443541.324801.325181.3271451.32472【注注】斯蒂芬森迭代法斯蒂芬森迭代法2 2阶收敛阶收敛 非线性方程非线性方程(组组)本讲稿第二十七页,共六十页例例1010 解解 x*=0.56714392(1)x0=0.5,=0.5,x18=0.5671407=0.5671407(2)斯蒂芬森迭代斯蒂芬森迭代 x18=0.5671407kxkykzk0 00.50.50.60
21、6530660.606530660.545239210.545239211 10.567623880.567623880.566870790.566870790.567297860.567297862 20.567143310.56714331【注注】原迭代法不收敛,用斯蒂芬森迭代法收敛原迭代法不收敛,用斯蒂芬森迭代法收敛.已收敛的迭代法,可达到已收敛的迭代法,可达到2 2阶收敛阶收敛 P 阶收敛阶收敛 可达到可达到 p+1 阶阶非线性方程非线性方程(组组)本讲稿第二十八页,共六十页斯蒂芬森迭代法的斯蒂芬森迭代法的MATLABMATLAB程序程序:steffensen.msteffensen.
22、mfunctionxstar,index,it=steffensen(phi,x,ep,it_max)functionxstar,index,it=steffensen(phi,x,ep,it_max)%steffensen%steffensen加速方法,其中加速方法,其中%phi(x)%phi(x)为迭代函数,为迭代函数,x x为初始点;为初始点;%ep%ep为精度,缺省值为为精度,缺省值为1e-5,1e-5,%当当x(k)-x(k-1)x(k)-x(k-1)ep=it_max,=it_max,失败;失败;%it%it为迭代次数为迭代次数if nargin4 it_max=100;if na
23、rgin4 it_max=100;endend非线性方程非线性方程(组组)本讲稿第二十九页,共六十页if nargin3 ep=1e-5;endif nargin3 ep=1e-5;endindex=0;k=1;index=0;k=1;while k=it_maxwhile k=it_max x1=x;y=feval(phi,x),z=fevalx1=x;y=feval(phi,x),z=feval(phi,y),(phi,y),x=x-(y-x)2/(z-2*y+x)x=x-(y-x)2/(z-2*y+x)if abs(x-x1)=ep if abs(x-x1)=ep index=1;bre
24、ak;index=1;break;end end k=k+1;k=k+1;endendxstar=x;it=k;xstar=x;it=k;非线性方程非线性方程(组组)本讲稿第三十页,共六十页迭代函数迭代函数 function f=phi(x)function f=phi(x)f=exp(-x);f=exp(-x);求方程的根求方程的根xstar,index,it=Steffensen(phi,0.5,1e-xstar,index,it=Steffensen(phi,0.5,1e-5)5)得得 xstar=0.5671,index=1,it=3xstar=0.5671,index=1,it=3对
25、比:利用不动点迭代计算了对比:利用不动点迭代计算了1818次,次,Steffensen Steffensen方法方法 迭代迭代3 3次次 非线性方程逐步线性化非线性方程逐步线性化.形式简单、收敛速度快形式简单、收敛速度快 2.5 2.5 牛顿迭代法牛顿迭代法2.5.1 2.5.1 牛顿迭代法牛顿迭代法切线法切线法特点特点非线性方程非线性方程(组组)本讲稿第三十一页,共六十页方程方程 f(x)=0 0的跟的跟 x*牛顿迭代公式牛顿迭代公式若若f(x)在单根在单根x*附近存在连续的附近存在连续的二阶导数二阶导数,牛顿迭代法的原理牛顿迭代法的原理线性化方法线性化方法牛顿法的收敛性牛顿法的收敛性且且初
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第二 非线性 方程组 精选 文档
限制150内