当前位置:文档之家› 用牛顿迭代法求近似根

用牛顿迭代法求近似根

用牛顿迭代法求近似根
————————————————————————————————作者:————————————————————————————————日期:
第四题
题目:用Newton 法求方程在 74
28140x x -+= (0.1,1.9)中的近似根(初始近似值取为区间端点,迭代6次或误差小于0.00001).
解:此题是用牛顿迭代法求解近似根的问题
1. Newton 迭代法的算法公式及应用条件:
设函数在有限区间[a,b]上二阶导数存在,且满足条件
ⅰ. ()()0f a f b <;
ⅱ. ()''f
x 在区间[a,b]上不变号; ⅲ. ()'0f x ≠;
ⅳ. ()()'f c f c b a
≤-,其中c 是a,b 中使()()''min(,)f a f b 达到的一个. 则对任意初始近似值0[,]x a b ∈,由Newton 迭代过程
()()()
1'k k k k k f x x x x f x +=Φ=-,k=0,1,2… 所生成的迭代序列{ k x }平方收敛于方程()0f x =在区间[a,b]上的唯一解а.
对本题:
)9.1()9.1(0
)8(4233642)(0
)16(71127)(0
)9.1(,0)1.0(,1428)(3225333647>⋅''<-=-=''<-=-='<>+-=f f x x x x x f x x x x x f f f x x x f Θ 故以1.9为起点 ⎪⎩
⎪⎨⎧='-=+9.1)()(01x x f x f x x k k k k
2. 程序编写
#include<stdio.h>
#include<math.h>
void main()
{
double x0,x=1.9;
do
{
x0=x;
x=x0-(x0*x0*x0*x0*x0*x0*x0-28*x0*x0*x0*x0+14)/(7*x0*x0*x0*x0*x0*x0-28*4*x0*x0 *x0);
} while(fabs(x-x0)>1e-5);
printf("x=%f",x);
}
3.打印结果
4.讨论分析
A.要用误差范围来控制循环的次数,保证循环的次数和质量。

B.编写程序过程中要注意标点符号的使用,正确运用适当的标点符号。

C.Newton迭代法是局部收敛的,在使用时应先确定初始值。

相关主题