目录
【例3-5】求9x^2-sin x-1=0,在(0,1)之间的解,要求| 9x^2-sin x-1|<0.00001。
【例3-5】求9x^2-sin x-1=0,在(0,1)之间的解,要求| 9x^2-sin x-1|<0.00001。
非线性方程:
非线性方程的收敛性和收敛速度:
建立迭代方程
【例3-5】求9x^2-sin x-1=0,在(0,1)之间的解,要求|9x^2-sin x-1|<0.00001。
问题分析
计算模型:
算法设计与描述 | 算法分析 |
输入:x | |
输出: x0 | |
迭代方程:equation(x): { x1 <- x; x0 <- 0; while( | x1- x0| >0.00001 ) { x0 <- x1; x1 <- sqrt ( sin(x0) +1) /3 ; return x0; } | (1)若 x0=0.4 ,经测试达到精度0.00001,需要迭代的次数为6次,xi = 0.391849
(2)
若
x
0
=0.5, 经测试达到精度 0.00001,需要迭代的次数 为
7
次,
x
i
= 0.391851
|
二分法: equationD (x1,x2) { f1 <- 9*x1*x1 - sin(x1)-1; f2 <- 9*x2*x2 - sin(x2)-1; f <- 1; if( f1*f2 < 0 ) { while ( | x - x3 | > 0.00001) { x <- ( x1+x2)/2; //中点 f <- 9*x*x - sin(x)-1; if(f==0)break; if(f*f1>0) //不在里面,从(x,x2) { x3=x1; //x3是上一次的x值 f1=f; x1=x; } else //在里面 (x1,x) { x3=x2; x2=x; } } } } |
(1)
若
x
1
=0,x
2
=0.4,
代入
k≥(ln(b-a)-lnε)/ln2 -1得 k≥14.287712
经测试,当
x
i
=0.391852
时
,达到所要求精度
0.00001所迭代的次数为
17
次。
(2)
若
x
1
=0,x
2
=0.5
代入
k≥(ln(b-a)-lnε)/ln2 -1得 k≥14.6096
。
经测试,当
x
i
=0.391853
时
,达 到所要求精度
0.00001所迭代 的次数为
17
次。
|
牛顿法: equationN (x) { x1 <- x; x2 <- x1 - (9*x1*x1 -sin(x1) -1) / (18*x1 - cos(x1)); while( |x1-x2 | > 0.00001 ) { x1 <- x2; x2 <- x1- (9*x1*x1 -sin(x1) -1)/(18*x1-cos(x1)) ; } return x2; } |
算法测试
(1)
若
x
1
=0.4,
经测试
,x=0.391847
时,达到所要求精度
0.00001
所
迭代的次数为
7
次。
(2)
若
x
1
=0.5,
经测试
,x=0.391847
时,达到所要求精度
0.00001
所
迭代的次数为
3
次。
|
二分法:(穿根法)
二分法的时间渐近复杂度分析
牛顿法--有点儿化曲为直那意思
牛顿法的时间复杂度分析