
Change in velocity equation with explicit method
    4 vues (au cours des 30 derniers jours)
  
       Afficher commentaires plus anciens
    
    BioZ
 le 29 Mar 2020
  
    
    
    
    
    Réponse apportée : Ameer Hamza
      
      
 le 29 Mar 2020
            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 commentaires
  darova
      
      
 le 29 Mar 2020
				Can you explain more? You have 
 constant. What are you trying to calculate? What is V?

Réponse acceptée
  Ameer Hamza
      
      
 le 29 Mar 2020
        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 commentaires
Plus de réponses (1)
  darova
      
      
 le 29 Mar 2020
        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 commentaires
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



