二分法和牛顿迭代法求解方程的比较_第1页
二分法和牛顿迭代法求解方程的比较_第2页
二分法和牛顿迭代法求解方程的比较_第3页
二分法和牛顿迭代法求解方程的比较_第4页
二分法和牛顿迭代法求解方程的比较_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、二分法和牛顿迭代法求解方程的比较200822401018 徐小良一、 问题叙述求解的解;通过编写matlab程序分别用分析二分法和牛顿迭代法求解方程,通过两种方法的比较,分析二者求解方程的快慢程度。二、 问题分析由matlab画图命令,容易得到此方程解的范围为(2,4);两种迭代方法,在使用相同的误差(0.00001)的情况下,得出matlab迭代次数,通过次数的比较得出二者求解速度快慢比较。三、 实验程序及注释(1)、二分法程序:clear; %清除所有内存数据;f=inline('12-3*x+2*cos(x)'); format long %数据显示格式设为长型;a=2;

2、b=4; %求解区间;er=b-a;ya=f(a);k=0;er0=0.00001; %误差分析;while er>er0 x0=.5*(a+b); y0=f(x0); if ya*y0<0 b=x0; %二分法求解程序; else a=x0; ya=y0; end disp(a,b);er=b-a;k=k+1 %显示各个区间值和求解次数;enddisp(a,b); %显示最后一个区间值;(2)、牛顿迭代法程序:clear; %清除所有内存数据;f=inline('12-3*x+2*cos(x)');format long %数据显示格式设为长型;b=3;a=4;k

3、=0; %求解区间;y0=f(b);y=f(a);while abs(b-a)>0.00001 t=a-y*(a-b)/(y-y0); b=a;y0=y; %牛顿迭代法求解程序; a=t;y=f(a); k=k+1; disp(b,a);k %显示各个区间值和求解次数;end disp(b,a); %显示最后一个区间值;四、 实验数据结果及分析表1:二分法程序结果迭代次数区间值:a区间值:b13.000000000000003.5000000000000023.25000000000000 3.5000000000000033.25000000000000 3.3750000000000

4、043.37500000000000.143.34735107421875 3.34741210937500153.34738159179688 3.34741210937500163.34739685058594 3.34741210937500173.34739685058594 3.34740447998047183.34739685058594 3.34740447998047表2:牛顿迭代法程序结果迭代次数区间值:b区间值:a13.43828213866291 23.3483632970400433.34836329704004 3.3474127204823343.34741272

5、048233 3.3474028396087953.34741272048233 3.34740283960879五、 实验结论通过表1可知,在二分法下,程序迭代了17次后和第18次的结果一致,即程序迭代了17次达到要求的试验误差;通过表2可知,在牛顿迭代法下,程序迭代了4次后和第5次的结果一致,即程序迭代了4次达到要求的试验误差;二者比较明显可以看出牛顿迭代法的求解效率要远远优于二分法。多面体旋转实验200822401018 徐小良一、 问题叙述:编写matlab程序实现对正立方体的旋转,并用适当的方法来验证程序设计的正确性。二、 问题分析:使用相对应的三个正交矩阵即可实现对三位图形进行各个

6、方向的旋转,在此不再赘述。,使用moviein命令,就可以对原正立方体和旋转以后的三位图形进行全方位的观测;为观测的方便,可在立方体各个面上涂不同的颜色加以区分。三、 试验程序以及注释:(1)、主题函数:clear; %清除以前所有数据,以防干扰X,Y,Z=peaks(30); m=moviein(30); %扑捉相关画面B0=0 0 0;1 0 0;1 1 0;0 1 0;0 0 1;1 0 1;1 1 1;0 1 1;n=8; %延时相关因子view(-25,16);B=B0;cube(B);for i=1:30 view(10*(i-1),10*(i-1) %设置观测点 m(:,i)=g

7、etframe; %观察立方体 delay(n); %延时一定时间,以便观测endQz=cos(pi/2) -sin(pi/2) 0;sin(pi/2) cos(pi/2) 0;0 0 1;Qy=cos(-pi/4) 0 sin(-pi/4);0 1 0;-sin(-pi/4) 0 cos(-pi/4);Qx=1 0 0;0 cos(pi/4) -sin(pi/4);0 sin(pi/4) cos(pi/4);B=B*Qz'cube(B);B=B*Qz'cube(B); %立方体旋转B=B*Qz'cube(B);B=B0*Qy'B=B*Qx'B(:,3)

8、=B(:,3)+1;cube(B);view(-25,16);for i=1:30 view(3-10*(i-1),10) m(:,i)=getframe; delay(n);end(2)、Cube函数:function cube(B)fac=1 2 3 4;1 2 6 5;1 4 8 5;7 8 5 6;7 3 2 6;7 3 4 8;patch('faces',fac(1,:),'vertices',B,'faceColor','m'); %在不同面涂不同颜色patch('faces',fac(2,:),

9、9;vertices',B,'faceColor','b');patch('faces',fac(3,:),'vertices',B,'faceColor','r');patch('faces',fac(4,:),'vertices',B,'faceColor','c');patch('faces',fac(5,:),'vertices',B,'faceColor','g');patch('faces',fac(6,:),'vertices',B,'faceColor','y');(3)、delay函数: %延时函数function delay(n)ticM=10000000;N=M*n;for k=0:N M=M*1-1;endtoc %延时时间计算四、 试验结果:通过程序仿真可观测到,立方体不同侧面的颜色,以此检测图色的正确性。当旋转后,经过程序仿真观测旋转后的图形各个侧面的颜色,以此观测旋转的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论