解:当f(x)?1时,左边??1dx?2
?11
右边?1?1?2?1?3?1??2 31 左边=右边
?1 当f(x)?x时,左边??xdx?0
1??1?2??3?? 312 当f(x)?x2时,左边??x2dx?
?131222?(?1)?2??3? 右边??? 3? 右边?要使求积公式具有2次代数精度,当且仅当
?1(?1?2??3?)?0??3 ?12?(1?2?2?3?2)??3?3?2??3??1即?2 2?2??3??1?1?6???1?5得? ???3?261?15??1?6???2?5或? ???3?262?15?
将(?1,?1)代?求积公式得
1?1?63?26???1f(x)dx?3?f(?1)?2f(5)?3f(15)?
??1当f(x)?x时,左边??x3dx?0
3?111?1?633?263?)?3()??0 右边??(?1)3?2?(3?515?左边?右边,故此时求积公式具2次代数精度; 将(?2,?2)代入求积公式得
1?1?63?26?f(x)dx?f(?1)?2f()?3f()? ???13?515?1 26
当f(x)?x时,左边??x3dx?0
3?11
1?1?633?26?)?3()??0 右边???1?2(3?515?左边?右边,故此时求积公式具2次代数精度
1?63?261?63?26综上:??5,??式具最高代数精度2。
15或??27
5,??15时,所得求积公第九章 常微分方程的数值解法
1、用Euler预估—校正格式求解初值问题
?dy2??y?ysinx?0 ?dx??y(1)?1要求步长h?0.2,计算y(1.2)及y(1.4)的近似值 解:设f(x,y)??y?y2sinx,x0?1,y0?1,xn?x0?nh?1?0.2h
?yn?1?yn?hf(xn,yn)?Euler预估—校正式为? h???yn?1?yn??f(xn,yn)?f(xn?1),yn?1??22??yn?1?yn?0.2(yn?ynsinxn) ??22??yn?1?yn?0.1(yn?ynsinxn?yn?1?yn?1sinxn?1)由y0?1计算得:
??y1?0.631706 ???y(1.2)?y1?0.715489
??y2?0.476965 ???y(1.4)?y2?0.5261122、用欧拉法解初值问题
?y'?10x(1?y)??y(0)?0(0?x?1.0)
2取步长h?0.1,保留5位有效数字,并与准确解y?1?e?5x相比较 解:h?0.1,xi?ih,i?0,1,2?,10
f(x,y)?10x(1?y)欧拉公式如下:
y(x)?1?e?5x2
?yi?1?yi?hf(xi,yi)?yi?10hxi(1?yi) ??y0?0?yi?1?xi?(1?xi)?yi即:??yo?0计算结果如下表所示
i?0,1,?,9
28
i xi 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 yi 0 0.10000 0.28000 0.49600 0.69760 0.84880 0.93952 0.98186 0.99637 0.99964 y(xi) 0.048771 0.18127 0.36237 0.55067 0.71350 0.83470 0.91371 0.95924 0.98258 0.99326 y(xi)?yi 0.048771 0.081269 0.082372 0.054671 0.015895 0.014099 0.025814 0.037132 0.013792 0.006378 1 2 3 4 5 6 7 8 9 10
?dy2?hn???y),②3、对初值问题?dx①步长为h时,用梯形公式得近似解yn?(2?h??y(0)?1h?0时,yn收敛于准确解
解:y'??y?dy??dx?lny??x?C?y?e?x?c y又y(0)?1,故y?e?x(准确值)
?x?[0,R],考虑区间[0,x],步长为h时,等分数为n,显然有h=x-0 n①由梯形公式f(x,y)??y
yn?1?yn?h?f(xn,yn)?f(xn?1,yn?1)?2
h?yn???yn?yn?1?22?h2?h22?hn?1?yn?()?yn?1???()?y02?h2?h2?h
2?hn?yn?()2?h?yn?1? 29
x?02?hnn)n ②limyn?lim()?lim(h?0h?02?hh?0x?02?n2?x2x11??1n1nnnnn?lim()?lim(1?)?lim(1?)?lim[(1?)x22]xn??n??n??xxn1n??n12?2???nnx2x2
111???1n1n1?1x22xx2?[lim(1?)]?[lim(1?)lim(1?)2]x?[e?1?1]x?e?xn??n??n??n1n1n1???x2x2x22?4、取h?0.2,用改进Euler法的预估—校正式求解初值问题
?dy2?2?xy??dx3??y(0)?10?x?1.2
2?2xy 3解:h?0.2,xn?nh(n?0,1,2,?,6),f(x,y)?Eute预估—校正式
?yn?1?yn?hf(xn,yn)? ?hf(xn,yn)?f(xn?1,yn?1)??yn?1?yn?????22??2y?y??x?ynnnn?1?15?即:?1?22??2?yn?1?yn???xn?yn??xn?1?(yn?1)?2??10?33??由y0?1出发,计算结果列于下表
n 0 1 2 3 4 5 xn 0 0.2 0.4 0.6 0.8 1.0 yn 1 1.013333 1.051006 1.108248 1.179552 1.260130 yn?1 1 1.039303 1.099288 1.173383 1.256216 1.344097 yn?1 1.013333 1.051006 1.108248 1.179552 1.260130 1.346395 30