第三章数值积分与常微分方程的数值解法 合心 数值积分 1fx)函数形式已知,但其积 分不能表示成初等函数的闭 ●梯形法 合形式 ●Simpson:法 2.x)函数形式未知,但其 离散点数据的求积 离散数据表已给出 常微分方程的数值解法 ●Euler法及其改进 ● Runge-.Kutta法 合
● Euler法及其改进 ● Runge-Kutta法 ● 梯形法 ● Simpson法 ●离散点数据的求积 第三章 数值积分与常微分方程的数值解法 数值积分 常微分方程的数值解法 1.f(x)函数形式已知,但其积 分不能表示成初等函数的闭 合形式 2. f(x)函数形式未知,但其 离散数据表已给出
3-1-1梯形法— 方法原理 国合 求fx)在a,b]上的定积分 f(x)dx 基本思想:复化求积,即从近似计算为出发点,用有限项 的求和计算来代替从而求出定积分的近似值。 定步长: x=a+kh,h=(b-a)/n,(k=l,2,…,m) h—步长 y=fx) 2上Mfx-)+fx】 2 =经a)+fb+2f) k= Xk-1 h xk
3-1-1 梯形法——方法原理 基本思想:复化求积,即从近似计算为出发点,用有限项 的求和计算来代替从而求出定积分的近似值。 定步长: x a kh,h (b a)/ n,(k 1,2, ,n) k = + = − = L 求f(x)在[a,b]上的定积分 x y y=f(x) a b xk-1 h xk Ik ∑ ∑ ∑ − = = − = = + + = + = 1 1 1 1 1 [ ( ) ( )] ( ) 2 [ ( ) ( )] 21 n k k n k k k n k n k f a f b h f x h h f x f x T I ∫ b a f (x)dx h——步长
3-1-1梯形法 方法原理 合心 变步长: N个区间,h,T 2N个区间,h/2,T T-T K<EPS (Xk1xk》 Xk-112 五.-立2++2n+加 42f+x+2f) +2国@2 其中: 3/a)+16+2/x.③21x0A
变步长: N个区间,h,T1 2N个区间,h/2,T2 |T2-T1|<EPS (xk-1,xk) xk-1/2 ( ) ( )/ 2 2 2 1 ( ) 2 [ ( ) ( )] 4 [ ( ) ( )]} 2 2 1 [ ( ) ( )] 2 2 1{ 1 1/ 2 1 1 1 1/ 2 1 2 1 1/ 2 1/ 2 f x T H S h T f x h f x f x h f x f x h f x f x h T n n k n k n k n k k k k n k n k k k k = + = + × = + + = + + + ∑ ∑ ∑ ∑ = − = = − − = − − − 其中: f a f b h f x S f x H h h T n k k n k n = + + ∑ k = ∑ = − = − = [ ( ) ( )] ( ), ( ), 2 1 1 1/ 2 1 3-1-1 梯形法——方法原理
3-2-1-1 Simpson法 一问题的提出 国合 例:Debye--Einstein公式推导得到计算固体热容的公式为 Cr=9R/Xie'.xle"-1)dx 其中: Xm=0/T0,为Debye温度,R为气体常数8.314JK1mol1 已知固体的Debye温度如下: Pb Ag Cu Al Fe KCI NaCl a*K88 215 315 398 420 227 281 1910 求在50,100,298.15,500,1500K时,各固体的热容
例:Debye-Einstein公式推导得到计算固体热容的公式为 ∫ = ⋅ − m 0 3 4 2 m 9 / /( 1) d x x x V C R X e x e x 其中: X m =θ D /T θD为Debye温度,R为气体常数8.314J·K-1·mol-1 已知固体的Debye温度如下: θD/*K 88 215 315 398 420 227 281 1910 Pb Ag Cu Al Fe KCl NaCl C 求在50,100,298.15,500,1500K时,各固体的热容。 3-2-1-1 Simpson法——问题的提出
3-2-1-2 Simpsoni法 —方法原理 可合戊 求积分 S-jrcd Simpson法是把积分区间分割成有限个小区间,在每个小 区间上采用二次抛物线来近似被积函数x)的图形,近似求出 小区间的面积,然后再将有限个小区间相加得到被积函数的 近似值。 y=f(x) 定步长 y=g(x) h=(b-a)/2n =(px =身x)+4x+0++2 xil h xi h xi-l
求积分 ∫ = b a S f (x)dx Simpson法是把积分区间分割成有限个小区间,在每个小 区间上采用二次抛物线来近似被积函数f(x)的图形,近似求出 小区间的面积,然后再将有限个小区间相加得到被积函数的 近似值。 x y y=f(x) xi-1 xi xi+1 y=g(x) h h Si 定步长: h = (b − a)/ 2n [ ( ) 4 ( ) ( 2 )] 3 ( )d 2 2 f x f x h f x h h S px qx r x i i i x h x i i i = + + + + = + + ∫ + 3-2-1-2 Simpson法——方法原理
3-2-1-2 Simpson法-方法原理 国合 判据 当S2n≤1时,S2n-Sn1时,(S2n-Sn)/S2n<EPS
判据: S S S S EPS S S S EPS n n n n n n n > − < ≤ − < 2 2 2 2 2 1 , ( )/ 1 , 当 时 当 时 3-2-1-2 Simpson法——方法原理
3-2-1-3 Simpsoni法 程序框图 合) Simp(A,B,EPS,S2,F) N=1,H=B-A,S1=0,T1=H*FA)+FB)/2 S=0 DO K=1,N S=S+F4+K-1/2)*H T2=(T1+H*S/2,S2=T2+T2-T1/3,D=S2-S1 No 1S2 Yes D=(S2-S1)/S2 N=N*2 No D<EPS H=H/2 Yes T1=T2 RETURN S1=S2
3-2-1-3 Simpson法——程序框图 Simp(A,B,EPS,S2,F) N=1, H=B-A, S1=0, T1=H*(F(A)+F(B))/2 DO K=1,N S=0 S=S+F(A+(K-1/2)*H) T2=(T1+H*S)/2, S2=T2+(T2-T1)/3, D=|S2-S1| |S2|>1 D=|(S2-S1)/S2| D<EPS No RETURN Yes No N=N*2 H=H/2 T1=T2 S1=S2 Yes
3-2-1-4 Simpsoni法 应用示例 国合 开始 输入:Debye温度T(5),精度EPS, 温度THETA 计算:XM=THETA/T四(I=1,N 输入:积分上下限A=104,B=XM Yes B=0 No 调用Simpson积分法子程序计算式右方积分值S2 固体的热容CV=9R公M*3*S2 输出:固体的热容Cy 显示程序 显示输出 结束 花
3-2-1-4 Simpson法——应用示例 开始 输入: Debye温度T(5),精度EPS,温度THETA 输出:固体的热容Cv 结束 调用Simpson积分法子程序计算式右方积分值S2 计算:XM=THETA/T(I) (I=1,N) 输入:积分上下限A=10-4,B=XM B=0 Yes No 固体的热容Cv=9R/XM**3*S2 显示程序 显示输出
3-1-3-1离散点数据的求积一 方法原理 合正 实验时,得不到变量间的关系式,只测量到(xy) 的离散点数据。 方法: 1.用插值程序求任意 点的函数值。 一元三点Lagrange插值: i-m] 1+2 f()≈px)= 2.用Simpson:求积程 序计算a,b1区间中离 散点下的面积。 L
3-1-3 –1 离散点数据的求积——方法原理 实验时,得不到变量间的关系式,只测量到(xi , yi) 的离散点数据。 x y a b 方法 : 1.用插值程序求任意 点的函数值。 一元三点Lagrange插值: ∑ ∏ + = + = − − ≈ = 2 2 ( ) ( ) [ ( ) ] i j i i k i i j k k y x x x x f x p x 2.用Simpson求积程 序计算[a,b]区间中离 散点下的面积
3-1-3-2离散点数据的求积 程序框图 国合 Simp(M,A,B,X,Y,EPS,S2) N=1,H=B-A,(1);S1=0,T1=H*FA)tFB)/2 S=0 (①)调用 Lagrange DO K=L,N 元三点插值 F(A),F(B) (2);S=S+F4+K-1/2)山四 T2=(T1+H*S/2,S2=T2+(T2-T1)3,D=S2-S1] No S21 Yes D=S2-S1)/S2 N=N*2 No (2)调用Lagrange D<EPS H=H/2 一元三点插值 Yes T1=T2 F(A+(K-1/2)*H0 RETURN S1=S2
Simp(M,A,B,X,Y,EPS,S2) N=1, H=B-A, ( 1 ); S1=0, T1=H*(F(A)+F(B))/2 DO K=1 , N S=0 ( 2 ); S=S+F(A+(K-1/2)*H) T2=(T1+H*S)/2, S2=T2+(T2-T1)/3, D=|S2-S1| |S2|>1 D=|(S2-S1)/S2| D<EPS No RETURN Yes No N=N*2 H=H/2 T1=T2 S1=S2 Yes (1)调用 Lagrange 一 元三点插值 F(A),F(B) (2)调用Lagrange 一元三点插值 F(A+(K-1/2)*H) 3-1-3 –2 离散点数据的求积——程序框图