Change in velocity equation with explicit method
조회 수: 4 (최근 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!