牛顿迭代法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《牛顿迭代法》实验报告

实验名称:牛顿迭代法成绩:___________

专业班级:数学与应用数学1202班姓名:张晓彤学号:2012254010227

实验日期:2014年12月1日

实验报告日期: 2014年12月1日

一、实验目的

(1)掌握牛顿迭代法来对复杂的方程来进行求解.

(2)掌握牛顿迭代法求方程过程中的基本理论思想.

(3)能够熟练使用matla软件实现牛顿迭代法的调用.

(4)能够掌握牛顿迭代法的程序,并能熟练地使用该程序对相应例题进行求解.

二、实验内容

2 .1(设计性实验)

编写牛顿迭代法的matlab程序,并给出相关例题来验证程序的正确性

2.2(验证性试验)

用编写的程序来对方程3sin1210

--+=进行求解

x x x

三、实验环境

该实验应用matlab2014来进行实验的验证和设计.

四、实验步骤和结果

4.1设计牛顿法的程序并验证

设计牛顿法的程序计算方程3sin1210

--+=的根

x x x

%建立牛顿迭代法的m文件%

N=1000; %给定最多的迭代次数%

x0=0; %给定迭代初值%

x1=x0^3-sin(x0)-12*x0+1;

esp=10^(-6); %给定精度%

k=1;

while(norm(x1-x0)>esp&&k

x0=x1;

f=x0^3-sin(x0)-12*x0+1;

f1=3*x0*x0-cos(x0)-12; %f1为f的导数%

if(f1~=0)

x1=x0-f/f1; %牛顿迭代公式%

end

k=k+1;

end

k %返回迭代次数%

x1 %得到迭代结果%

运行结果

k =

5

x1 =

0.0770

所以,当迭代到第五次的时候,相邻两次的迭代结果的差已经小于6

10-了,可以说明迭代速度还是很快的,最终得到的迭代结果是0.0077

4.2通过改变精度,来观察结果的变化

当精度不同时,借用,matlab对方程多次求解,得到下列结果:

由实验结果我们可以看到,当精度不同的时候,迭代次数会发生改变,进度要求的越高,迭代次数越多。

五、实验讨论、结论

通过本次实验,让我对牛顿迭代法有了更深刻的理解,牛顿法实质上是一种线性化方法,最基本的思想是将非线性方程()0

f x 逐步归结为某种线性方法来求解。

对于迭代精度的问题,当精度不同的时候,迭代次数会发生改变,进度要求的越高,迭代次数越多。

六、参考资料

【1】李庆阳,王能超,易大义,数值分析第五版,清华大学出版社,1995.

【2】刘卫国,matlab程序设计与应用,高等教育出版社,2002.

相关文档
最新文档