% Copyright Ashish Tewari (c) 2006 function deriv = rocket(t,o) global dtr; global mu; global omega; global S; global c; global rm; global tb1; global tb2; global fT1; global fT2; global m01; global m02; global mL; global mp1; global mp2; global Gamma; global f8; [g,gn]=gravity(o(3),o(2)); lo = o(1);la = o(2); clo = cos(lo); slo = sin(lo); cla = cos(la); sla = sin(la); fpa = o(5); chi = o(6); cfpa = cos(fpa); sfpa = sin(fpa); cchi = cos(chi); schi = sin(chi); if o(3)1e-6 headdot=o(4)*schi*tan(o(2))*cfpa/o(3)-gn*schi/o(4)-Yfo/(o(4)*cfpa*m)... -2*omega*(tan(o(5))*cchi*cla - sla)... +omega*omega*o(3)*schi*sla*cla/(o(4)*cfpa); else headdot=0; end end deriv = [longidot; latidot; raddot; veldot; gammadot; headdot]; if alt<=120e3 Qdot=Qinf*v*S*CD/20; fprintf(f8,'\t%1.5e\t%1.5e\t%1.5e\t%1.5e\t%1.5e\t%1.5e\t%1.5e\n',... t,alt,m,mach,veldot,Qinf,Qdot); end