数值分析大作业2014
课程设计
课程名称:高等数值计算
设计题目:数值计算B课程设计
学号:
姓名:
完成时间: 2014年10月20日
题目一:非线性方程求根
用Newton 法计算下列方程
(1) 310x x --=,初值分别为01x =,00.45x =,00.65x =;
(2) 32943892940x x x +-+=其三个根分别为1,3,98-。当选择初值02x =时
给出结果并分析现象,当6510ε-=?,迭代停止。
一、摘要
非线性方程的解析解通常很难给出,因此非线性方程的数值解就尤为重要。本实验通过使用常用的求解方法二分法和Newton 法及改进的Newton 法处理几个题目,分析并总结不同方法处理问题的优缺点。观察迭代次数,收敛速度及初值选取对迭代的影响。
二、数学原理
构造迭代函数的一条很重要的途径是,用近似方程来代替原方程去求根。因此,如果能将非线性方程用线性方程来代替的话,求近似根问题就很容易解决,而且十分方便。Newton 法就是把非线性方程线性化的一种方法。
在求解非线性方程()0f x =时,它的困难在于()f x 是非线性函数,为克服这一困难,考虑它的线性展开。设当前点为k x ,在k x 处的Taylor 展开式为
()()()()k k k f x f x f x x x '≈+-
令()0f x =,可以得到上式的近似方程
()()()0k k k f x f x x x '+-=
设()0k f x '≠,解其方程得到
1()
(0,1,)()k k k k f x x x k f x +=-='…
这就是牛顿迭代公式。用牛顿迭代公式求方程()0f x =根的方法称为牛顿迭代法。
牛顿迭代法的几何意义为,不断用切线来近似曲线得到方程的根,我们知道方程()0f x =的实根*x 是函数()y f x =的图形与横坐标的交点,1k x +是函数()f x 在点(,())k k x f x 处的切线与x 轴的交点,此时就是用切线的零点代替曲线的零点,因此,牛顿迭代法又称为切线法。
三、程序设计
基于MATLAB软件编写程序,先定义一个用Newton法求解的功能函数,然后调用函数用于计算不同的方程。各变量定义见程序。
1、选取初值。
2、利用公式求解
1
()
(0,1,)
()
k
k k
k
f x
x x k
f x
+
=-=
'
…
3、计算所得
1
-
k k
x x
+
是否满足精度要求
4、如不满足继续迭代运算,如满足则输出所求结果
四、结果分析和讨论
1、第一题计算结果:
首先得到函数在区间[-2.5,2.5]的图像,即可知函数()
f x与x轴有交点,也就是说有根,并且从图中能够大致估算到根的位置。
(1)、取初值
1
x=时
得到根值r=1.3247,迭代次数t=4次
(2)、取初值
0.45
x=时
得到根值r=1.3247,迭代次数t=42次
(3)、取初值
0.65
x=时
得到根值r=1.3247,迭代次数t=8次
根据结果可以分析得到,当使用牛顿迭
代法时,所选初始值对迭代速度(迭代次
数)有较大影响。当初始值
x充分接近方程
的单根时,可保证迭代序列快速收敛,当初
值选择不当时会造成迭代次数大幅增加或不
一定收敛。
2、第二题计算结果: