any one help me ; how can I insert an array I=[600 400 200 100 0] in my code which solved using runge kutta method (this constant(I) change in my equations)

2 ビュー (過去 30 日間)
%initial condition t(1)=0; Tb(1)=27; Tw(1)=30; Tg(1)=26;
%step size h=1; tfinal=300; N=ceil(tfinal/h);
%update loop for i=1:N
%update time
t(i+1)=t(i) + h;
%update Tb Tw Tg
k1Tg=fTg(t(i) ,Tw(i) ,Tg(i) );
k1Tw=fTw(t(i) ,Tb(i) ,Tw(i) ,Tg(i) );
k1Tb=fTb(t(i) ,Tb(i) ,Tw(i) );
k2Tg=fTg(t(i)+h/2,Tw(i)+h/2*k1Tw,Tg(i)+h/2*k1Tg);
k2Tw=fTw(t(i)+h/2,Tb(i)+h/2*k1Tb,Tw(i)+h/2*k1Tw,Tg(i)+h/2*k1Tg);
k2Tb=fTb(t(i)+h/2,Tb(i)+h/2*k1Tb,Tw(i)+h/2*k1Tw);
k3Tg=fTg(t(i)+h/2,Tw(i)+h/2*k2Tw,Tg(i)+h/2*k2Tg);
k3Tw=fTw(t(i)+h/2,Tb(i)+h/2*k2Tb,Tw(i)+h/2*k2Tw,Tg(i)+h/2*k2Tg);
k3Tb=fTb(t(i)+h/2,Tb(i)+h/2*k2Tb,Tw(i)+h/2*k2Tw);
k4Tg=fTg(t(i)+h ,Tw(i)+h *k3Tw,Tg(i)+h *k3Tg);
k4Tw=fTw(t(i)+h ,Tb(i)+h *k3Tb,Tw(i)+h *k3Tw,Tg(i)+h *k3Tg);
k4Tb=fTb(t(i)+h ,Tb(i)+h *k3Tb,Tw(i)+h *k3Tw);
Tg(i+1)=Tg(i)+ h/6*(k1Tg + 2*k2Tg + 2*k3Tg + k4Tg);
Tw(i+1)=Tw(i)+ h/6*(k1Tw + 2*k2Tw + 2*k3Tw + k4Tw);
Tb(i+1)=Tb(i)+ h/6*(k1Tb + 2*k2Tb + 2*k3Tb + k4Tb);
end

回答 (0 件)

カテゴリ

Help Center および File ExchangeGeometric Geodesy についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by