计算方法实验报告0313193700.docx
- 文档编号:734734
- 上传时间:2022-10-12
- 格式:DOCX
- 页数:23
- 大小:99.03KB
计算方法实验报告0313193700.docx
《计算方法实验报告0313193700.docx》由会员分享,可在线阅读,更多相关《计算方法实验报告0313193700.docx(23页珍藏版)》请在冰豆网上搜索。
计算方法实验报告0313193700
实验报告
一、求方程f(x)=xA3-sinx-12x+1的全部根,€=le-6
1、用一般迭代法;
2、用牛顿迭代法;
并比较两种迭代的收敛速度。
一、首先,由题可求得:
/W=3x2-cosx-12.
其次,分析得到苴根所在的区间。
1令f(x)-0,可得到%3-12x4-1=sinx.
2用一阶导数分析得到x3-12x+1和sinx两个函数的增减区间:
再用二阶导数分析得到两个函数的拐点以及凹凸区间.
3在直角坐标轴上描墓出x3-12x+1=0和sinx=0的图,在图上可以看到他们的交点,然后估计交点所在的区间,即是所要求的根的区间。
经过估计,得到根所在的区间为[-4-3],[0,1]和[3,4].
1、一般迭代法
(1)算法步骤:
设e为给定的允许精度,迭代法的计算步骤为:
1选定初值A().|h/(a)=0确定函数g(x),得等价形式x=g(x).
2计算gg).由迭代公式得X|=g(x。
).
3如果|x,-x0|<^,则迭代结束,取“为解的近似值;否则,用“代替儿,重复步骤②和步骤③.
(2)程丿了:
代码:
1在区间[-4,-3]内,代码:
clc
x0=-3•5;
$初值心
iter_max=100;$迭代的最大次数
ep=le-6;
$允许精度£
k=0;
whilek<=iter_max$]<从0开始至ljiter_max循坯;
xl=(sin(x0)+12*x0-l)."(1/3);貂弋入儿,算出旺的值
ifabs(xl-xO) break; 匕条件卜|一对5£成立,跳出循环 end xO=xl; 务条件|Xj-Xq\<£不成立,用“代替兀0 k=k+l; %kini end x_star=xl,iter=k为解的近似值,iter为迭代次数 运行结果: x_star=-3.4101: iter=14 2在区间[0,1]内, 代码: clc xO=O.5;$初值旺 iter_max=100;$迭代的最大次数 ep=le-6; $允许精度g k=0; whilek<=iter_max$1<从0开始至ljiter_max循坯; xl=(l/12)*(x0.^3-sin(x0)+1);貂弋入心,算岀“的值 ifabs(xl-xO) break;务条件\x{-x()| end xO=xl;匕条件|x,-xq\<£不成立,用“代替儿 k=k+l;Ek力m end x_star=xl,iter=k为解的近似值,iter为迭代次数 结果: x_star=0.07696;iter=6 3在区间[3,4]内, 代码: clc x0=3.5;&初值心 iter_max=100;$迭代的最大次数 ep=le-6;$允许精度£ k=0; whilek<=iter_max靱从0开始至ljiter_max循环 xl=(sin(x0)+12*x0-l)(1/3);訂弋入心,算出“的值 ifabs(xl-xO) break;匕条件-x()|<£•成立,跳岀循环 end xO=xl;$条件|Xj-x0|<£不成立,用X]代替X。 k=k+l;力m end x_star=xl,iter=k为解的近似值,iter为迭代次数 运行结果: x_star=3.4101;iter=10 2、牛顿迭代法 (1)算法步骤: 1选泄初值计算/(“),/(%())• 2按公式心+|=兀一丄¥2迭代,得新的近似值兀+「并计算/(林+J,/(A\.+l). f\xk) 3对于给立的允许精度S如果卜阳一兀卜£,则终止迭代,取“SJ;否则, k=k+\,在转回步骤②计算. (2)程丿了代码: 1在区间[-4-3]内, clc xl=-3.5;$初值“ k=0; whilek<=100%k从0开始到100循环 x0=xl;$将初值勺赋给儿 f0=x0.Zv3-sin(x0)-12*x0+l;&计•算/(心)fl=3*x0."2-cos(x0)-12;务计算/(x0)xl=xO-fO/fl;$计算得到新的近似值“ ifabs(xl-xO)<1.Oe-6%|^-x0|与允许精度作比较break;匕条件\x{-x0\<£成立,跳出循环 end k=k+l;务条件1%,-xq\<£不成立,k加1end x_star=xl,iter=k%坷为解的近似值,iter为迭代次数 运行结果: x_star=-3.4911;iter=2 2在区间[0,1]内, clc xl=0.5;%初值X] k=0; whilek<=100从0开始到100循环 x0=xl;&将初值坷赋给儿 f0=x0.A3-sin(x0)-12*x0+l;$计•算/(x0) fl=3*x0./x2-cos(xO)-12;%i|-M/'(x0) xl=x0-f0/fl;$计算得到新的近似值“ ifabs(xl-xO)<1.Oe-6-x^\与允许精度作比较 break;匕条件-x0|<成立,跳出循环end k=k+l;%条件|Xj-xq\<£不成立,k加1 end x_star=xl,iter=k为解的近似值,iter为迭代次数 运行结果: x_star=0.07696;iter=3 3在区间[3,4]内, clc xl=3.5;%初值“ k=0; whilek<=100靱从0开始到100循环 x0=xl;$将初值X]赋给几 f0=x0•八3-sin(x0)-12*x0+l;%计算/(x0) fl=3*x0./s2-cos(xO)-12;$计算/(x0)xl=xO-fO/fl;咎计算得到新的近似值“ ifabs(xl-xO)<1.Oe-6%|xj-x0\与允许精度作比较 break;E条件\x{-xQ\<£成立,跳出循环 end k=k+l;匕条件-x0|<£■不成立,k加1 end x_star=xlziter=k*山为解的近似值,iter为迭代次数 运行结果: x_star=3.4101;iter=3 3.运行结果: xe[-4,-3] Xe[o,l] Xe[3,4] x_star iter x_star iter x_star iter 一般迭代 —3.4101 14 0.7696 6 3.4101 1() 牛顿法 —3.4911 2 0.70696 3 3.4101 3 4.结果分析: 从这题的结果可以看出,牛顿迭代法的迭代速度比一般迭代法的速度要快,牛顿法的迭代次数比较少。 例如,求在[-4-3]的根时,一般迭代法迭代了14次仃ter=14),而牛顿 法只用了2次(iter=2). 总而言之,一般迭代法是一种逐次逼近的方法,具有原理简单、编制程序方便等优点,但存在是否收敛和收敛速度的快慢等问题。 牛顿迭代法是一种特姝的迭代法,用于求方程的单根时具有2阶收敛。 因此是一种求非线性方程解的好方法,还可以用于求重根和复根,而且可以推广到求非线性方程组的解. 2.解方程组直接法 3. 421 872 A= 483 对矩阵A做LU分解。 "21' -7' 121 -5 **• b= • 121 -5 12_ 9 _-5_ A= K杜利特尔分解法(直接三角分解法): 设方程组心=/2的系数矩阵A的各阶主子式det(Aj^O(A: =1,2,则可 知该方程组存在唯一的杜利特尔分解: A=LU,其中 L= "1・ U= UliU12 …“J …ll2n ,21 1 仃2hin-\L %_ 我们记矩阵A的第i行第丿•列元素为“厂则矩阵U的第一行和厶的第一列可山公 式(1.1)求出: (2.1) 再由公式(2.2)求出(/的第k行(&=2,…/)、厶的第£列(&=2,…,-1)元素: (1)算法步骤: 由于系数矩阵A的各阶主子式det(人)H0(k=l,2,…时,则可知该方程组存 在唯一的杜利特尔分解: A=LU° 1利用公式(2.1)和(2.2)求出U和厶的元素%和 2求解单位下三角形方程组Ly=b,即按公式 儿-工/灯儿,"2,3,…,“"23) 求出儿」2,…,儿。 4 求解上三角形方程组Ux=y,即按公式 可求得方程组的解: 占,£」・・・/「 (2)程序代码: function[LzU]=LU(A) A [nzn]=size(A);%定义A为/阶矩阵 L=zeros(n,n);%矩阵厶初始化 U=zeros(n,n);$矩阵U初始化 fori=l: n end fork=l: n forj=k: n U(kzj)=A(kzj)-sum(L(kz1: k-1).*U(1: k-1,j)1); 匕求出u元素" end fori=k+l: n L(izk)=(A(i,k)-sum(L(i,1: k-l).*U(l: k-lzk)1))/U(k,k); E求出厶的元素g end end A=[4215;87210;4836;1261120];&矩阵A [L,U]=LU(A)^A=LU 2>追赶法 设所求方程组为 (2.5) b{xx+c}x2=r}a2x}+b2x2+c2x3=r2a3x2+bg+c3x4=r3 (1)算法步骤: 1 由方程组的第1个方程,将未知元“用七表示为 _八一3 i己M]=—»V)=—,得 1以此类推,*2用心表示,无用林4表示。 我们可以得到一般式(其中记 2 2将畑=仏-忖心代入方程组(2.5)的第n个方程,并解出耳得 上式右端恰好是式(2.6)的心。 于是,可由式(2.7)求岀三对角方程组的 解心,即 (2)程序代码: clc a=[0 1 1 1 11 1 1 1 11; b=[2 2 2 2 22 2 2 2 2]; c=[1 1 1 1 11 1 1 1 0]; r=[-' 1- -5 —c 5-5 -5- -5 -5-5-5-5]; u=[0 0 0 0 00 0 0 0 0]; v=[0 0 0 0 00 0 0 0 0]; x=[0 0 0 0 00 0 0 0 0]; u(l)=r(l)/b(l);&计算妁=— v(l)=c(l)/b(l);E计算儿=乞fork=2: 10 u(k)=(r(k)-u(k-l)*a(k))/(b(k)-v(k-l)*
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算方法 实验 报告 0313193700