||
我们以方程 dy/dx = y 为例,检验下Euler法,Heun法,4阶RK法的数值精度。
编程对比:
clear all; close all; clc;
h = 1;
tlist = 0 : h : 4;
ylist = zeros(4, length(tlist));
ylist(:,1) = 1;
for s = 2 : length(tlist)
ylist(1,s) = exp(h)* ylist(1,s-1);
ylist(2,s) = (1+ h)* ylist(2,s-1);
ylist(3,s) = (1+ h +h^2/2)* ylist(3,s-1);
ylist(4,s) = (1+ h +h^2/2 +h^3/6 + h^4/24)* ylist(4,s-1);
end
h1 = figure;
plot(tlist, ylist)
legend('exact','Euler','Heun','4RK')
xlabel('t');ylabel('y')
计算结果:
可见,4阶RK方法非常令人满意。
作业1: 试对方程dy/dx = - xy 找一个5阶精度的求解策略。
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-25 09:58
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社