收藏 分享(赏)

用matlab求解非线性方程组的几种方法之程序.pdf

上传人:weiwoduzun 文档编号:3782534 上传时间:2018-11-18 格式:PDF 页数:23 大小:567.77KB
下载 相关 举报
用matlab求解非线性方程组的几种方法之程序.pdf_第1页
第1页 / 共23页
用matlab求解非线性方程组的几种方法之程序.pdf_第2页
第2页 / 共23页
用matlab求解非线性方程组的几种方法之程序.pdf_第3页
第3页 / 共23页
用matlab求解非线性方程组的几种方法之程序.pdf_第4页
第4页 / 共23页
用matlab求解非线性方程组的几种方法之程序.pdf_第5页
第5页 / 共23页
点击查看更多>>
资源描述

1、 第二章 非线性方程(组)的数值解法的MATLAB程序 9 高等教育出版社 教育电子音像出版社 作者:任玉杰 本章主要介绍方程根的有关概念,求方程根的步骤,确定根的初始近似值的方法(作图法,逐步搜索法等),求根的方法(二分法,迭代法,牛顿法,割线法,米勒(Mller)法和迭代法的加速等)及其MATLAB程序,求解非线性方程组的方法及其MATLAB程序. 2.1 方程(组)的根及其MATLAB命令 2.1.2 求解方程(组)的solve命令 求方程f(x)=q(x)的根可以用MATLAB命令: x=solve(方程f(x)=q(x),待求符号变量x) 求方程组fi(x1,xn)=qi(x1,xn

2、) (i=1,2,n)的根可以用MATLAB命令: E1=sym(方程f1(x1,xn)=q1(x1,xn); . En=sym(方程fn(x1,xn)=qn(x1,xn); x1,x2,xn=solve(E1,E2,En, x1,xn) 2.1.3 求解多项式方程(组)的roots命令 如果 )(xf 为多项式,则可分别用如下命令求方程 0)( =xf 的根,或求导数 )( xf (见表 2-1). 表 2-1 求解多项式方程(组)的roots命令 命 令 功 能 xk =roots(fa) 输入多项式 )(xf 的系数fa(按降幂排列),运行后输出xk为 0)( =xf 的全部根. dfa

3、=polyder(fa) 输入多项式 )(xf 的系数fa(按降幂排列),运行后输出dfa为多项式 )(xf 的导数 )( xf 的系数. dfx=poly2sym(dfa) 输入多项式 )(xf 的导数 )( xf 的系数 dfa(按降幂排列),运行后输出dfx为多项式 )(xf 的导数 )( xf . 2.1.4 求解方程(组)的fsolve命令 如果非线性方程(组)是多项式形式,求这样方程(组)的数值解可以直接调用上面已经介绍过的roots命令.如果非线性方程(组)是含有超越函数,则无法使用roots命令,需要调用MATLAB系g13583g1117g6656g1483的g2582g10

4、72g1114程序fsolveg7573求解.g5507g10086,程序fsolveg1167可以用g1214多项式方程(组),g1398是g4531的g16849g12743量g7230g7278g8708roots命令的g3927. fsolve命令使用g7472g4671二g1160法(leg68g86g87 g86g84g88g68reg86 g80eg87g75g82g71)解非线性方程(组) (F X =) 0 的数值解,其g1117X和F(X)可以是g2625量或g11801g19557.g8596g12285方法需要g4685g16901g11632输入解X的初始值(g262

5、5量或g11801g19557)X0,g2467使程序g1117的迭代序列g7014g7051,g1167g1085g1072定g7014g7051g2144 (F X =) 0的根(见g1467g21.g20.g27). fsolve的调用格式g726 X=fsolve(F,X0) 第二章 非线性方程(组)的数值解法 第二章 非线性方程(组)的数值解法的MATLAB程序 10 高等教育出版社 教育电子音像出版社 作者:任玉杰 输入函数 )(xF 的Mg7095g1318g2621和解X的初始值(g2625量或g11801g19557)X0,g4685g16901g11632解方程(组)(F

6、X =) 0,运行后输出 (F X =) 0解的g1376g16849值(g2625量或g11801g19557)X. 要g1206解g7460多的调用g7788式和功能g16935输入:help fsolveg15g7701g11579g16932g7230. 2.2 搜索根的方法及其MATLAB程序 求解非线性方程根的近似值g7206,g20422g1912需要g2132g7133方程有g8913有根g731如果有根,有g2064g1114根g731如果有根,需要搜索根g6256g3416的g2410g19492或确定根的初始近似值(g12720g12320初始值).搜索根的近似g1405

7、g13726的g5224用方法有g1081g12285:作图法g451逐步搜索法和二分法等,使用这g1227方法的g2173g6656是g20744等数g4502g1117的g19750g9961定g10806. 2.2.1 作图法及其MATLAB程序 作函数的图形的方法g5560多,如用g16849g12743g7530g17823g1318的图形功能g11115图,或用g20744等数g4502g1117g5316用导数作图,或用初等数g4502的函数g2576加法作图等.下面介绍g1108g12285作图程序. 作函数 )(xfy = 在区间 a,b 的图形的MATLAB程序一 x=a:

8、h:b; % h是步g19375 y=f(x); plot(x,y) grid, gtext(y=f(x) g16932g7230g726g321 g8596程序g3416MATLAB的g5141作g2410输入,运行后g2467可出g10720函数 )(xfy = 的图形.g8596图形g1086xg17828g1236g9961的g8282g3456g7735g2467为g6256要求的根的近似值. g322 g2410g19492g62a,b 的g1108g1114g12575g9961的g17421g12267 b-a 和步g19375h的g13581g4649值越g4671,图形越g

9、13038确. 作函数 )(xfy = 在区间 a,b上的图形的MATLAB程序二 g4662 )(xfy = g2374为 )()( xgxh = ,其g1117 )()( xgxh 和 是g1108g1114g11560等的g12720g2437函数 x=a:h:b; y1=h(x); y2=g(x); plot(x, y1, x, y2) grid,gtext( y1=h(x),y2=g(x) g16932g7230g726g8596程序g3416MATLAB的g5141作g2410输入,运行后g2467可出g10720函数 )()( 21 xgyxhy = 和 的图形.g1108图形g

10、1236g9961的g8282g3456g7735g2467为g6256要求的根的近似值. 下面g1134g1467g16932g7230如g1413用g16849g12743g7530g17823g1318MATLAB的图形功能作图. 2.2.2 逐步搜索法及其MATLAB程序 逐步搜索法g1167g12320g16901g12743法.g4531是求方程 0)( =xf 根的近似值g1405g13726的g1072g12285g5224用的方法. 逐步搜索法g1485g17286g1214g4651g6318g17934g13597函数 )(xf g9489g17379 )(af g108

11、6 )(bf 异号的g2410g19492 , ba .g1072旦g6318g2144g2410g19492,无论g2410g19492多g3927,通过某g12285方法总会g6318g2144g1072g1114根. MATLAB 的库函数g1117g8913有逐步搜索法的程序,g10720g6656g1483根据逐步搜索法的g16849g12743步骤和g4531的g7014g7051g2132定准则编写其主程序,命g2621为zhubuss.m. 逐步搜索法的MATLAB主程序 输入g2410g19492g12575g9961a和b的值,步g19375h和g13038度tol,运行后

12、输出迭代次数 k=(b-a)/h+1,方程 0)( =xf 根的近似值r. function k,r=zhubuss(a,b,h,tol) % 输入的量- a和b是闭g2410g19492a,b的左g451右g12575g9961; %-h是步g19375; %-tol是预g1912给定的g13038度. % 运行后输出的量-k是搜索g9961的g1114数; % - r是方程 g3416a,b上的实根的近似值,其g13038度是tol; X=a:h:b;Y=funs(X);n=(b-a)/h+1;m=0; X(n+1)=X(n);Y(n+1)=Y(n); 第二章 非线性方程(组)的数值解法的

13、MATLAB程序 11 高等教育出版社 教育电子音像出版社 作者:任玉杰 for k=2:n X(k)=a+k*h;Y(k)=funs(X(k); %程序g1117调用的funs.m为函数 sk=Y(k)*Y(k-1); if sk k,r=zhubuss(-2,2,0.001,0.0001) 运行后输出的结果 k =4001 r = -1.2240 -1.0000 -1.0000 -0.9990 1.2250 g2467搜索g9961的g1114数为k =4 001,其g1117有5g1114是方程g321的近似根,g2467r = -1.224 0,-1.000 0,-1.000 0,-0

14、.999 0,1.225 0,其g13038度为0.000 1. g3416程序g1117g4662y=2.*x.3+2.*x.2-3.*x-3用y=sin(cos(2.*x.3) 代替,可得g2144方程g322g3416g2410g194922,2 上的根的近似值如下 r = -1.9190 -1.7640 -1.5770 -1.3300 -0.9220 0.9230 1.3310 1.5780 1.7650 1.9200 如果读者分别g4662方程g321的结果g1086g1467g21.g21.3g8708较,方程g322的结果g1086g1467g21.g20.g21g8708较,g

15、4662会发g10720逐步搜索法的MATLAB程序的优g9961.如果g13038度要求g8708较g20744,用这g12285逐步搜索法是g1085合g12743的. 2.3 二分法及其MATLAB程序 2.3.1 二分法 二分法g1167g12320逐次分半法.g4531的基本思想是g726g1912确定方程 0)( =xf 含根的g2410g19492(a,b),再把g2410g19492逐次二等分. 我们可以根据式(g21.3b)g451g2410g19492g62a,b和误差,编写二分法求方程根的迭代次数的MATLAB命令. 已知闭g2410g19492g62a,b和误差 .用二

16、分法求方程误差g1085g3927g1214 的根的迭代次数k 的MATLAB命令 k=-1+ceil(log(b-a)- log(abtol)/ log(2) % ceil是g2625+ 方g2625取整,abtol是误差 . 2.3.2 二分法的MATLAB程序 二分法需自行编制程序,g10720g6656g1483用二分法求方程f(x)=0的根 *x 的近似值 kx 的步骤和式(g21.3g68)编写g1072g1114g2621为erfen.m的二分法的MATLAB主程序如下. 二分法的MATLAB主程序 求解方程 0)( =xf g3416开g2410g19492(a,b)内的g10

17、72g1114根的g2173g6656条g1318是 )(xf g3416闭g2410g19492a,b上g17934g13597,且 0)()( 0, disp(注意g726ya*yb0,g16935重新调整g2410g19492g12575g9961a和b.), return end max1=-1+ceil(log(b-a)- log(abtol)/ log(2); % ceil是g2625 + 方g2625取整 for k=1: max1+1 a;ya=fun(a); b;yb=fun(b); x=(a+b)/2; yx=fun(x); wuca=abs(b-a)/2; k=k-1;

18、k,a,b,x,wuca,ya,yb,yx if yx=0 a=x; b=x; elseif yb*yx0 b=x;yb=yx; else a=x; ya=yx; end if b-ax=-4:0.1:4; y=x.3-x +4; plot(x,y) grid,gtext(y=x3-x+4) g11115出函数f(x)=x3-x+4的图像,如图g21-7.从图像可以g11579出,g8596曲线有g1108g1114驻g9961 33 都g3416 xg17828的上方,g3416(-g21g15-g20)内曲线g1086 x g17828只有g1072g1114g1236g9961,则该方程

19、有唯g1072g1072g1114实根,且g3416 (-g21g15-g20)内. 方法2 试算法. g3416MATLABg5141作窗口输入程序 x=-4: 1:4,y=x.3-x +4 运行后输出结果 x = -4 -3 -2 -1 0 1 2 3 4 y = -56 -20 -2 4 4 4 10 28 64 由g1214g17934g13597函数f(x)g9489g17379 0)1()2( k,x,wuca,yx=erfen (-2,-1,0.001) 运行后屏幕g7278示用二分法g16849g12743过程被列入表 g21-3,其余结果为 图g21-7 第二章 非线性方程(

20、组)的数值解法的MATLAB程序 13 高等教育出版社 教育电子音像出版社 作者:任玉杰 k = 9,x=-1.7959, wuca = 9.7656e-004,yx = 0.0037 2.4 迭代法及其MATLAB程序 确定根的近似g1405g13726以后,接下g7573的g5141作就是g4662根g13038确g2374,g2467按某g12285方法g4662初始近似值逐步g13038确g2374,直g2144g9489g17379g6256要求的g13038确度为止. 上节介绍的二分法是g4662根g13038确g2374的方法之g1072,g1398是g4531的g7014g70

21、51速度较慢,且g1085能求出偶重根.迭代法可以克服这g12285缺陷.迭代法是求解方程的根g451线性和非线性方程组的解的基本而重要的方法. 2.4.2 迭代法的MATLAB程序1 迭代法需要自行编制程序.下面g6656g1483的迭代法的MATLAB程序g20使用g7206只需输入迭代初始值 0x g451迭代次数kg451迭代公式xk+1=(xk)和g1072条命令,运行后就可以输出求迭代序列 kx g451迭代k次得g2144的迭代值 kx 和g11560邻g1108次迭代的偏差piancha =| 1 kk xx | (g12720g12320偏差)和偏差的g11560g4649误

22、差 xdpiancha=| 1 kk xx | kx 的值,并且具有警报功能(若迭代序列发散,则g6656示用户“g16935重新输入新的迭代公式”;若迭代序列g7014g7051,则屏幕会出g10720“祝贺您!g8596迭代序列g7014g7051,且g7014g7051速度较快”).我们可以用这g1114程序g7573g2132g7133迭代序列的g7051散性,g1167可以用g1214g8708较由g1072g1114方程得g2144的g2064g1114迭代公式的g7051散性的优劣. 迭代法的MATLAB程序1 输入的量g726初始值 0x g451迭代次数k和迭代公式 ),2,

23、1,0()(1 L=+ kxx kk ; 运行后输出的量g726迭代序列 kx g451迭代k次得g2144的迭代值 kx g451g11560邻g1108次迭代的偏差piancha =| 1 kk xx |和g4531的偏差的g11560g4649误差xdpiancha= kkk xxx 1 的值. 根据迭代公式(g21.4)和已知条g1318,g10720g6656g1483g2621为diedai1.m的Mg7095g1318如下 function k,piancha,xdpiancha,xk=diedai1(x0,k) % 输入的量-x0是初始值,k是迭代次数 x(1)=x0; for

24、 i=1:k x(i+1)=fun1(x(i);%程序g1117调用的fun1.m为函数y=(x) piancha= abs(x(i+1)-x(i); xdpiancha= piancha/( abs(x(i+1)+eps); i=i+1;xk=x(i);(i-1) piancha xdpiancha xk end if (piancha 1) end if (piancha 3) disp(祝贺您!g8596迭代序列g7014g7051,且g7014g7051速度较快) return; end p=(i-1) piancha xdpiancha xk; 例2.4.1 求方程 102)( 2

25、+= xxxf 的g1072g1114正根. 解 g3416MATLABg5141作窗口输入程序 k,piancha,xdpiancha,xk= diedai1(2,5) 运行后输出用迭代公式 2/)10( 21 kk xx =+ 的结果 第二章 非线性方程(组)的数值解法的MATLAB程序 14 高等教育出版社 教育电子音像出版社 作者:任玉杰 k,piancha,xdpiancha,xk= 1.00000000000000 1.00000000000000 0.33333333333333 3.00000000000000 2.00000000000000 2.50000000000000

26、 5.00000000000000 0.50000000000000 3.00000000000000 4.37500000000000 0.89743589743590 4.87500000000000 4.00000000000000 11.75781250000000 1.70828603859251 -6.88281250000000 5.00000000000000 11.80374145507813 0.63167031671297 -18.68655395507813 请用户注意:此迭代序列发散,请重新输入新的迭代公式 k=5,piancha = 11.8037414550781

27、3,xdpiancha = 0.63167031671297, xk = -18.68655395507813 由以上运行后输出的迭代序列g1086根 *x =g21.3g206 6g214 790 355 40g11560差越g7573越g3927,g2467迭代序列 kx 发散,g8596迭代法就失败.这g7206偏差piancha逐渐增g3927且偏差的g11560g4649误差xdpiancha的值g3927g12140.5. 用迭代公式 )2/(101 +=+ kk xx 运行后输出的结果 k,piancha,xdpiancha,xk= 1.00000000000000 0.5000

28、0000000000 0.20000000000000 2.50000000000000 2.00000000000000 0.27777777777778 0.12500000000000 2.22222222222222 3.00000000000000 0.14619883040936 0.06172839506173 2.36842105263158 4.00000000000000 0.07926442612555 0.03462603878116 2.28915662650602 5.00000000000000 0.04230404765128 0.01814486863115

29、2.33146067415730 k =5,piancha =0.04230404765128,xdpiancha = 0.01814486863115, xk = 2.33146067415730 可见,偏差piancha和偏差的偏差的g11560g4649误差xdpiancha的值逐渐变g4671,且第5次的迭代值xk =g21.33g20 460 674 g2057 30g1086根 *x =g21.3g206 6g214 790 355 40接近,则迭代序列 kx g7014g7051,g1398g7014g7051速度较慢,g8596迭代法较为成功. 用迭代公式 )22/()102(

30、 21 +=+ kkkkk xxxxx 运行后输出的结果 k,piancha,xdpiancha,xk= 1.00000000000000 0.33333333333333 0.14285714285714 2.33333333333333 2.00000000000000 0.01666666666667 0.00719424460432 2.31666666666667 3.00000000000000 0.00004187604690 0.00001807631822 2.31662479061977 4.00000000000000 0.00000000026437 0.0000000

31、0011412 2.31662479035540 5.00000000000000 0 0 2.31662479035540 祝贺您!此迭代序列收敛,且收敛速度较快 k = 5; piancha = 0; xdpiancha = 0; y = 2.31662479035540. 可见,偏差 piancha 和偏差的g11560g4649误差 xdpiancha 的值越g7573越g4671,且第 5 次的迭代值xk=2.316 624 790 355 40g1086根 *x =2.316 624 790 355 40g11560差无g2064,则迭代序列 kx g7014g7051,且g701

32、4g7051速度g5560快,g8596迭代法成功. 2.4.5 迭代法的MATLAB程序2 迭代法的MATLAB程序2 输入的量g726初初始值 0x g451g13038度tol和和迭代公式 ),2,1,0()(1 L=+ kxx kk ; 运行后输出的量g726迭代次数k,g9489g17379g13038度tol的根的近似根 kx 的迭代序列 kx ,g11560邻g1108次迭代的偏差 pianch=| 1 kk xx |和g4531的偏差的g11560g4649误差 xdpiancha = kkk xxx 1 的值,yk=(xk). 根据迭代公式(g21.4)和已知条g1318,g

33、10720g6656g1483g2621为diedai2.m的Mg7095g1318如下 function k,piancha,xdpiancha,xk,yk=diedai2(x0,tol,ddmax) x(1)=x0; for i=1: ddmax x(i+1)=fun(x(i);piancha=abs(x(i+1)-x(i); xdpiancha=piancha/( abs(x(i+1)+eps);i=i+1; xk=x(i);yk=fun(x(i); (i-1) piancha xdpiancha xk yk if (pianchaddmax disp(迭代次数超过给定的g7472g39

34、27值ddmax) return; end P=(i-1),piancha,xdpiancha,xk,yk; 例2.4.5 求x5-3x+1=0g34160.3附近的根,g13038确g21444g1405g4671数. 解 构造迭代公式 )( kk xx = . g7017写g2511方程为等g1319方程 3/)1( 5 += xx .这g7206 3/)1()( 5 += xx ,初始值为x0=0.5, 迭代公式 3/)1( 51 +=+ kk xx ),2,1,0( L=k . 利用迭代法的MATLAB程序2计算精确到4位小数的根的近似值 y 和迭代次数k. g3416MATLABg5

35、141作窗口输入程序 k,piancha,xdpiancha,xk,yk=diedai2(0.3,1e-4,100) 运行后输出的结果 k,piancha,xdpiancha,xk,yk = 0 0.03414 0.10218 0.30000 0.33414 1 0.03414 0.10218 0.33414 0.33472 2 0.00058 0.00173 0.33472 0.33473 3 0.00001 0.00004 0.33473 0.33473 k =3;piancha =1.206089525390697e-005; xdpiancha =3.603129477781680e-

36、005; xk =0.3347; yk =0.3347. 2.5 迭代过程的加速方法及其MATLAB程序 g4649g1214g7014g7051的迭代过程,只要迭代g17379g3919多次,就可以使结果g17902g2144g1323意的g13038度,g1398有g7206迭代过程g7014g7051g13635慢,从而使g16849g12743量变得g5560g3927,g3344g8596,迭代过程的加速是g1114重要的g19486g20168. 2.5.2 加权迭代法的MATLAB程序 加权迭代法的MATLAB主程序 已知初始值 0x g451g13038度tol和迭代公式xk+

37、1=(xk),求g9489g17379g13038度tol的根的近似根 kx 和g4531的函数值yk及迭代次数k. 根据加g7539迭代的公式(g21.g200)和已知条g1318,g10720g6656g1483g2621为jasudd.m的Mg7095g1318如下g726 function k,xk,yk=jasudd (x0,tol,L,ddmax) x1(1)=x0; for i=1: ddmax x(i+1)=fun(x1(i); x1(i+1)= x(i+1)+L*( x(i+1)- x1(i)/(1-L); piancha=abs(x1(i+1)-x1(i); xdpianc

38、ha= piancha/( abs(x1(i+1)+eps); i=i+1;xk=x1(i);yk=fun(x1(i);(i-1) xk yk if (pianchaddmax 第二章 非线性方程(组)的数值解法的MATLAB程序 16 高等教育出版社 教育电子音像出版社 作者:任玉杰 disp(迭代次数超过给定的g7472g3927值ddmax) return; end P=(i-1),xk,yk; 例2.5.1 用(g21.g200)式求g21e 0= xx g34160.85附近的g1072g1114近似根,要求g13038度 610= . 解 g3416MATLABg5141作窗口输入

39、程序 k,xk,yk=jasudd (0.85,1e-6,-0.855,100) 运行后输出结果 k,xk,yk = 1.00000000000000 0.85260370028041 0.85260703830561 2.00000000000000 0.85260549975491 0.85260550406236 3.00000000000000 0.85260550207699 0.85260550208255 k =3; xk =0.852606; yk = 0.852606. 2.5.4 艾特肯(Aitken)加速方法的MATLAB程序 艾特肯加速方法的MATLAB程序 已知初始值

40、 0x g451g13038度tol和迭代公式xk+1=(xk),求g9489g17379g13038度tol的根的近似根 kx 和g4531的函数值yk及迭代次数k,p=k,x1,x2,x. 根据g14510g10409g14047加速方法的公式(g21.g20g20)和已知条g1318,g10720g6656g1483g2621为Aitken.m的Mg7095g1318如下g726 function k,xk,yk,p= Aitken (x0,tol, ddmax) x(1)=x0; for i=1: ddmax x1(i+1)=fun(x(i); x2(i+1)=fun(x1(i+1);

41、 x(i+1)=x2(i+1)-(x2(i+1)-x1(i+1)2/(x2(i+1)-2*x1(i+1)+ x(i); piancha=abs(x(i+1)-x(i); xdpiancha= piancha/( abs(x(i+1)+eps); i=i+1; xk=x(i);yk=fun(x(i); if (pianchaddmax disp(迭代次数超过给定的g7472g3927值ddmax) return; end m=0,1:i-1; p=m,x1,x2,x; 例 2.5.3 用g14510g10409g14047加速方法求 g21e 0= xx g3416 0.85 附近的g1072g

42、1114近似根,要求g13038度610= . 解 g3416MATLABg5141作窗口输入程序 k,xk,yk,p= Aitken(0.85,1e-6, 100) 运行后输出结果 k=3,xk=0.85260550201343,yk=0.85260550201373 p = 0 0 0 0.85000000000000 1.00000000000000 0.85482986389745 0.85071110652484 0.85260683568607 2.00000000000000 0.85260436491811 0.85260647150826 0.85260550201407 3

43、.00000000000000 0.85260550201343 0.85260550201398 0.85260550201373 2.6 牛顿(Newton)切线法及其MATLAB程序 第二章 非线性方程(组)的数值解法的MATLAB程序 17 高等教育出版社 教育电子音像出版社 作者:任玉杰 2.6.2 牛顿切线法的收敛性及其MATLAB程序 判别牛顿切线法的局部收敛性的MATLAB主程序 根据牛顿g2103线法g4720部g7014g7051的条g1318 .1)( )()()( 2* y,f=newjushou(-1) 运行后输出结果 请注意观察下面显示的(x)的导数值的绝对值y=|

44、d(x)/dx|和方程f(x)=0的函数f(x)值 y = 139.5644 f = 4.3096 说明g726实g19573上,这g1114初始值g6256g1239g11087的迭代序列 kx 发散g15见g1467 g21.6.6. (2)输入程序 y,f=newjushou(0) 运行后输出结果 请注意观察下面显示的(x)的导数值的绝对值y=|d(x)/dx|和方程f(x)=0的函数f(x)值 y = 8.0000 f = 4 说明:实g19573上,这g1114初始值g6256g1239g11087的迭代序列 kx g7014g7051g2144方程的根g21.9g215 3g21,

45、而g1085是g7014g7051g2144g12267g4531g7472近的根g20.400 g27g20g15g2467g1085是g4720部g7014g7051的,见g1467 g21.6.6. (3)输入程序 y,f=newjushou(1) 第二章 非线性方程(组)的数值解法的MATLAB程序 18 高等教育出版社 教育电子音像出版社 作者:任玉杰 运行后输出结果 恭喜您!此迭代序列收敛,(x)导数值的绝对值y=|d(x)/dx|和方程f(x)=0的函数f(x)值f如下 y = 0.3566 f = 1.7126 说明:实g19573上,这g1114初始值g6256g1239g1

46、1087的迭代序列 kx g7014g7051g2144g12267g4531g7472近的根1.400 81g15g2467 kx是g4720部g7014g7051的,见g1467 g21.6.6. (4)输入程序g726 y,f=newjushou(2) 运行后输出结果 请注意观察下面显示的(x)的导数值的绝对值y=|d(x)/dx|和方程f(x)=0的函数f(x)值 y = 1.2593 f = -2.7188 说明:g15533g10086y =g20.g2159 3 1 ,g1085g9489g17379牛顿g2103线法g4720部g7014g7051的条g1318 1)( * y

47、,f=newjushou(5.5) 运行后输出结果 请注意观察下面显示的(x)的导数值的绝对值y=|d(x)/dx|和方程f(x)=0的函数f(x)值 y = 1.0447e+005 f = 176.6400 说明:实g19573上,这g1114初始值g6256g1239g11087的迭代序列 kx g7014g7051g2144g2135.6g209g15g1398g1085是g8596方程的根,g8708较初始值5.5g1086迭代值g2135.6g209,可见 kx g1085是g4720部g7014g7051的,见g1467 g21.6.6. (6)输入程序 y,f=newjushou

48、(8) 运行后输出结果 恭喜您!此迭代序列收敛,(x)导数值的绝对值y=|d(x)/dx|和方程f(x)=0的函数f(x)值f如下 y = 0.4038 f = -2.9452e+003 说明:实g19573上,这g1114初始值g6256g1239g11087的迭代序列 kx g7014g7051g2144方程的根6.g2190 60,而g1085是g7014g7051g2144g12267g4531g7472近的根9.4g214 46g15g2467g1085是g4720部g7014g7051的,见g1467 g21.6.6. 2.6.3 牛顿切线法的MATLAB程序 牛顿g2103线法求方程 0)( =xf 的近似根 kx (g13038度为tol)需要自行编制程序. 牛顿切

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报