欧拉法改进欧拉法四阶古典R_K法matlab程序
题目:利用程序对初值问题y’=2x+y
y(0)=1
用欧拉法(h1=0.025)、改进欧拉法(h2=0.05)和四阶古典R_K法(h3=0.1)计算
x=0.1,0.2,0.3,0.4,0.5各处的数值解,并列
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
与解析解比较。
Matlab M文件如下:
Euler.m——
function Euler(x,y,h1)
for m=1:20,
x=x+h1;
f=2*x+y;
y=y+h1*f;
if mod(m,4)==0,
disp('x='),disp(x);
disp('y='),disp(y);
end
end
end
gEuler.m——
function gEuler(x,y,h2)
f=2*x+y;
for m=1:10,
x=x+h2;
[y,f]=PEC(x,y,h2,f);
if mod(m,2)==0,
disp('x='),disp(x);
disp('y='),disp(y);
end
end
end
R_K4.m——
function R_K4(x,y,h3)
syms K1 K2 K3 K4,
for m=1:5,
x=x+h3;
K1=2*x+y;
K2=2*(x+0.5*h3)+(y+0.5*h3*K1);
K3=2*(x+0.5*h3)+(y+0.5*h3*K2);
K4=2*(x+h3)+(y+h3*K3);
y=y+(1/6)*h3*(K1+2*K2+2*K3+K4);
disp('x='),disp(x);
disp('y='),disp(y);
end
end
主程序调用:
>> Euler(0,1,0.025)
x=
0.1000
y=
1.1166
x=
0.2000
y=
1.2661
x=
0.3000
y=
1.4519
x=
0.4000
y=
1.6777
x=
0.5000
y=
1.9478
>> gEuler(0,1,0.05)
x=
0.1000
y=
1.1154
x=
0.2000
y=
1.2639
x=
0.3000
y=
1.4491
x=
0.4000
y=
1.6748
x=
0.5000
y=
1.9452 >> R_K4(0,1,0.1)
x=
0.1000
y=
1.1365
x=
0.2000
y=
1.3085
x=
0.3000
y=
1.5195
x=
0.4000
y=
1.7738
x=
0.5000
y=
2.0759