内容发布更新时间 : 2024/11/17 16:36:28星期一 下面是文章的全部内容请认真阅读。
0.2[8?3yn?8?3yn?1] , ?2
716yn?1?yn?1313yn?1?yn?由y(1)?y0?2计算得
y(1.2)?y1?2.30769y(1.4)?y2?2.47337y(1.6)?y3?2.56258 y(1.8)?y4?2.61062y(2.0)?y5?2.63649
思考题
对初值问题
?y??y?0 ? y(0)?1?试证明用梯形格式所求得的近似解为:yn?(证明:梯形格式为
2?hn) (其中h为步长) 2?hhyn?1?yn?[f(xn,yn)?f(xn?1,yn?1)],于是
2hyn?1?yn?(?yn ?yn?1 ) ?
2h1?2?y?2?h?y?(2?h)n?1?y yn?1?0hn2?hn2?h1?2而
y0?y(0)?1,故得
yn?(2?hn) 2?h?y??y?y2sinx?0例 用欧拉预-校格式求初值问题?,要求取步长h=0.2
y(1)?1?试计算y(1.2)及y(1.4)的近似值(小数点后至少保留五位)
?yn?1?yn?hf(xn,yn)?解:? hy?y?[f(x,y)?f(x,y)]?n?1nnnn?1n?1?2于是有
2?y?y?0.2(y?ysinxn)n?1nnn? ?22??yn?1?yn?0.1(yn?ynsinxn?yn?1?yn?1sinxn?1)由y(1)?y0?1计算得
?y1?0.63171 ??y(1.2)?y1?0.715488?y2?0.47696 ??y(1.4)?y2?0.526112ty??y?1?, 0?t?2?2练习 用欧拉预-校格式求初值问题?,要求取步长h=0.5,计算1?t??y(0)?0结果保留6位小数。
?yn?1?yn?hf(tn,yn)2ty?解:将h=0.5,代入,f(t,y)?1? 2?h1?t?yn?1?yn?[f(tn,yn)?f(tn?1,yn?1)] n?0 , 1 , 2 ,??2于是有
tn?y?y?(0.5?yn)n?1n2?1?t?n? tt?yn?1?yn?0.5?(1?n2yn?n?1yn?1)2?1?t1?t nn?1?
练习 试写出欧拉预报-校正格式。
由y0?0计算得
y1?0.500 000 , y(0.5)?y1?0.400 000y2?0.740 000 , y(1.0)?y2?0.635 000y3?0.817 500 , y(1.5)?y3?0.787 596y4?0.924 090 , y(2.0)?y4?0.921 025?预报??校正??yn?1?yn?hf(xn,yn)h
yn?1?yn?[f(xn,yn)?f(xn?1,yn?1)]2练习 试写出欧拉预报-校正格式。
?预报??校正??yn?1?yn?hf(xn,yn)hyn?1?yn?[f(xn,yn)?f(xn?1,yn?1)]2第四章 例 用方程的迭代解法求方程xe?1?0 的一正根,要求根的
近似值
xx*稳定至小数点后5位。
f(x)?xex?1 ∵f(0)??1 , f(1)?e?1?0
解:设
xx?f(x)?e?xe?0 x?[0, ??] ∴f(x)?0在区间[0,1]上有根
∴取
f(x)?0在区间[0,1]上有唯一实根
x0?0.5,将xex?1?0 改写成 x?e?x,建立迭代公式
xk?1?e?xk (k?0, 1, 2,? ) 进行迭代:
x0?0.5 , x1?0.6065 ,3 ? , x15?0.5671 ,5 x17?x16?0.5671 4 ∴根的近似值为
x*≈0.56714
练习 用方程的迭代解法求方程近的一根
f(x)?x?x?1?0 在x0?1.5附
3x*。
如建立
xk?1?3xk?1的迭代公式,其迭代过程是收敛的。
x7?x8?1.32472
3x?x如建立k?1k?1 (x0?1.5)的迭代公式,则有
x1?2.375 x2?12.39… xk会越来越大,不可能趋于某个极限。这种不
收敛的迭代过程称作是发散的,纵使进行了千百次迭代,其结果也是毫无价值。
x?3?0 的正根(x*?3)
2解 设f(x)?x?3,可以将f(x)?0改写成不同的等价式x??(x),由此可构
例. 用不同的迭代公式求方程成不同的迭代式。
22x?x?(x)?x?x?3(1) , k?1k?xk?3
2∵ ??(x*)???(3)?23?1?1
3x(2)?(x)?,k?1x(3)?(x)?33*?,??(x)??2,??(x)???(3)??1 xkx121?3), x?(x2?3),xk?1?xk?(xk44??(x)?1?x,??(x*)???(3)?1?123?0.134?1 2133x?1(x?3)(2x?x?),k?1k(4)?(x)?(x?) 2xk, 2xx13??(x)?(1?2),??(x*)???(3)?0
2x很明显,迭代法(1)、(2)不满足|??(x)|?q?1的条件,其迭代法发散;迭代法(3)、(4)满足|??(x)|?
练习 设?(x)q?1的条件,均局部收敛,且(4)比(3)收敛得快。
2?x??(x?5),要使迭代过程
xn+1
*x?5,=?(x)局部收敛到
n
求?取值范围。
解
??(x)?1?2?*x
|??(x*)|?|1?2?5|?1 ? ?5???05
*x由在根?5邻域具有局部收敛时,收敛条件
例 用牛顿迭代法求方程x x=10的一个实根,精度要求
?=10
-6
解:原方程同解变形为xlgx-1=0,令f (x)=xlgx-1
∵f (2)=2lg2-1<0,f (3)=3lg3-1>0,∴f (2)﹡f (3)<0 ∴f (x)=xlgx-1=0的根区间为(2,3)。
∵
f?(x)?lg(x)?lge>0 x∈(2,3)
注意( loga x )’=1 / (xlna)
f??(x)?lge?0,并且f (3)与xf??(x)同号
∴牛顿迭代法收敛.
f(xk)x?xk?∴取x=3,计算k?1f?(xk),得
0
x1=2.526710,x2=2.506228,x3=x4=2.506184 最后取实根x*=2.506184
练习 讨论用牛顿迭代法求解 用牛顿迭代法求其解。要求
x3?x?1?0 在x?1.5附近的收敛性,若收敛,
xk?1?xk?10?5
*x?1.324 717 957。 答案 ∴取
例. 用单点弦截法解方程
f(x)?xex?1?0,要求xk?1?xk?0.5?10?5。
解:f(0.5)?0,f(0.6)?0易知根区间为[0.5,0.6]
f?(x)?ex(1?x)?0,f??(x)?ex(2?x)?0
f(0.5)f??(0.5)?0 f(0.6)f??(0.6)?0
所以取(0.6,
f(0.6))为不动点,即取x0=0.6,x1=0.5,代入下式
xk?1?x0f(xk)?xkf(x0) 得x=0.565 32,x=0.56709
f(xk)?f(x0)2
3
经5次迭代后得到x4=x5=0.56714,满足条件∴取x
xk?1?xk?0.5?10?5
?0.56714。
例. 用双点弦截法求方程x3-x2-1=0,在x=1.5附近的根.计算中保留5位小数点. 解 f(x)= x3-x2-1,f(1)=-1,f(2)=3,有根区间取[1,2]. 取x0=1, x1=2 ,
f?(x)?3x2?2x?0 (x?[1,2])
f(xn)(xn?xn??) (n=1,2,…)
f(xn)?f(xn??)迭代公式为
xn???xn?x???x????? x??x???(x?x)???????.?? ??????x??x??x??x?