牛顿迭代法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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.