Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
20
Добавлен:
23.11.2018
Размер:
2 Кб
Скачать
function [T,P1,P2,P3,P4]=RungeKutta_14(t0,t1,p10,p20,p30,p40,N)
    dt=(t1-t0)/N;
    t(1)=t0;
    p1(1)=p10;
    p2(1)=p20;
    p3(1)=p30;
    p4(1)=p40;
    for i=1:N
        t(i+1)=t(1)+dt*i;
        kp11=dt*F1_14(t(i),p1(i),p2(i),p3(i),p4(i));
        kp21=dt*F2_14(t(i),p1(i),p2(i),p3(i),p4(i));
        kp31=dt*F3_14(t(i),p1(i),p2(i),p3(i),p4(i));
        kp41=dt*F4_14(t(i),p1(i),p2(i),p3(i),p4(i));
        kp12=dt*F1_14(t(i)+dt/2,p1(i)+kp11/2,p2(i)+kp21/2,p3(i)+kp31/2,p4(i)+kp41/2);
        kp22=dt*F2_14(t(i)+dt/2,p1(i)+kp11/2,p2(i)+kp21/2,p3(i)+kp31/2,p4(i)+kp41/2);
        kp32=dt*F3_14(t(i)+dt/2,p1(i)+kp11/2,p2(i)+kp21/2,p3(i)+kp31/2,p4(i)+kp41/2);
        kp42=dt*F4_14(t(i)+dt/2,p1(i)+kp11/2,p2(i)+kp21/2,p3(i)+kp31/2,p4(i)+kp41/2);
        kp13=dt*F1_14(t(i)+dt/2,p1(i)+kp12/2,p2(i)+kp22/2,p3(i)+kp32/2,p4(i)+kp42/2);
        kp23=dt*F2_14(t(i)+dt/2,p1(i)+kp12/2,p2(i)+kp22/2,p3(i)+kp32/2,p4(i)+kp42/2);
        kp33=dt*F3_14(t(i)+dt/2,p1(i)+kp12/2,p2(i)+kp22/2,p3(i)+kp32/2,p4(i)+kp42/2);
        kp43=dt*F3_14(t(i)+dt/2,p1(i)+kp12/2,p2(i)+kp22/2,p3(i)+kp32/2,p4(i)+kp42/2);
        kp14=dt*F1_14(t(i)+dt,p1(i)+kp13,p2(i)+kp23,p3(i)+kp33,p4(i)+kp43);
        kp24=dt*F2_14(t(i)+dt,p1(i)+kp13,p2(i)+kp23,p3(i)+kp33,p4(i)+kp43);
        kp34=dt*F3_14(t(i)+dt,p1(i)+kp13,p2(i)+kp23,p3(i)+kp33,p4(i)+kp43);
        kp44=dt*F4_14(t(i)+dt,p1(i)+kp13,p2(i)+kp23,p3(i)+kp33,p4(i)+kp43);
        p1(i+1)=p1(i)+1/6*(kp11+2*kp12+2*kp13+kp14);
        p2(i+1)=p2(i)+1/6*(kp21+2*kp22+2*kp23+kp24);
        p3(i+1)=p3(i)+1/6*(kp31+2*kp32+2*kp33+kp34);
        p4(i+1)=p4(i)+1/6*(kp41+2*kp42+2*kp43+kp44);
    end;
    T=t;
    P1=p1;
    P2=p2;
    P3=p3;
    P4=p4;
    
function z=F1_14(t,p1,p2,p3,p4)
    z=-0.7*p1+2.3*p2;
    
function z=F2_14(t,p1,p2,p3,p4)
    z=0.7*p1+1.8*p2+4.6*p3;
    
function z=F3_14(t,p1,p2,p3,p4)
    z=0.7*p2+1.8*p3+6.9*p4;
    
function z=F4_14(t,p1,p2,p3,p4)
    z=0.7*p3-6.9*p4;
Соседние файлы в папке 14