Change in velocity equation with explicit method
14 ビュー (過去 30 日間)
古いコメントを表示
Hello Everyone, I am new to MatLab, and looking for some help.
I have a code where I have 3600 time steps.
I am calculating change in mass of a rocket every step which is assumed to be constant (5000kg/s)
with this bit of a code
for n=2:length(t)
if M(n-1) >= mass_r;
M(n)=M(n-1)-dm*dt;
else
M(n)=mass_r-1;
end
end
I would like someone to help me to implement this equation in MatLab form
I tried using an explicit method but alot of errors just rainfalls on me.
Would appreciate any help.
2 件のコメント
darova
2020 年 3 月 29 日
Can you explain more? You have constant. What are you trying to calculate? What is V?
採用された回答
Ameer Hamza
2020 年 3 月 29 日
See this solution by using ode45
[t, V] = ode45(@dV, [0 300], 0);
plot(t,V)
function dVdt = dV(t, V)
G = 6.67408e-11;
M = 5.9722e24;
R = 6371e3;
A = 75;
Cd = 0.4;
me = 54000;
mo = 894000;
ve = 4500;
dmdt = 5000;
m_fuel = mo - me;
time_fuel = m_fuel/dmdt;
if t < time_fuel
m = mo - t*dmdt;
else
m = me;
end
dVdt = 1/m*(ve*dmdt - G*M*m/R^2 - 0.5*Cd*A*V^2);
end
0 件のコメント
その他の回答 (1 件)
darova
2020 年 3 月 29 日
Here is what i think about this question
for n = 2:length(t)
if m(n-1) > me % if rocket has fuel
dm = 5000;
else
dm = 0; % no fuel, mass change=0
end
dV = (ve*dm - ...)/m % longformula for acceleration
m(n) = m(n) - dm*dt; % mass change
V(n) = V(n-1) + dV*dt;
end
0 件のコメント
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!