2.5.m

来自「利用龙格库塔法(等步长」· M 代码 · 共 30 行

M
30
字号
global ka;
t0=0;
tend=1.5;
A=[0.020,0.065];
alpha=[pi/6,pi/4,pi/3];
for m=1:2
    ka=A(m);
    for n=1:3        
        u0=[0,1.5,20*cos(alpha(n)),20*sin(alpha(n))]';
        N=100;
        h=(tend-t0)/N;
        result=[u0'];
        time=[t0];
        u=u0;
        t=t0;   
        for k=1:N
            k1=fvdp3(t,u);
            k2=fvdp3(t+h,u+h*k1);
            k3=fvdp3(t+h/2,u+h*k1/4+h*k2/4);
            u=u+h*(k1+k2+4*k3)/6;
            t=t+h;
            result=[result;u']
            time=[time;t];

        end
            plot(result(:,1),result(:,2))
            hold on
    end
end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?