新建一个函数脚本文件
t0=0; tN=15;
y0=[5;0];
h=0.01;
t = t0 : h : tN;
N = length (t);
j = 1;
for
i = 1 : N
t1 = t0 + h;
K1 = R_K(t0, y0);
K2 = R_K(t0 + h/2, y0 + h*K1/2);
K3 = R_K(t0 + h/2, y0 + h*K2/2);
K4 = R_K(t0 + h, y0 + h*K3);
y1 = y0 + (h/6)*(K1 + 2*K2 + 2*K3 + K4);
Y1(j)=y1(1);
Y2(j)=y1(2);
t0=t1;
y0=y1;
j=j+1;
end
plot (t,
Y1, t, Y2);
grid;
新建一个函数
M-K.m
文件
function
ydot = f (t, y)
ydot=zeros(size(y));
ydot(1) = y(2);_ ydot(2) =-y(2)-y(1);
end
用脚本文件调用函数文件求解
x
’’
+x
’
+x=0,
初值
x
‘
=0
,
x=5
,下图为求解图形,针对不同的微分
方程适当修改函数
M
文件即可