飞行力学大作业 SY1105401 白斌
,H/0.3048,Mach,'spline')*(0.453952*32.2*0.3048);
Trust_throtte_77=interp2(matrix_height,martix_mach,matrix_trust_throtte_77,H/0.3048,Mach,'spline')*(0.453952*32.2*0.3048);
Trust_throtte_100=interp2(matrix_height,martix_mach,matrix_trust_throtte_100,H/0.3048,Mach,'spline')*(0.453952*32.2*0.3048);
elseTrust_throtte_0=2*interp2(matrix_height,martix_mach,matrix_trust_throtte_0,H/0.3048,1,'spline')*(0.453952*32.2*0.3048)-interp2(matrix_height,martix_mach,matrix_trust_throtte_0,H/0.3048,2-Mach,'spline')*(0.453952*32.2*0.3048);
Trust_throtte_77=2*interp2(matrix_height,martix_mach,matrix_trust_throtte_77,H/0.3048,1,'spline')*(0.453952*32.2*0.3048)-interp2(matrix_height,martix_mach,matrix_trust_throtte_77,H/0.3048,2-Mach,'spline')*(0.453952*32.2*0.3048);
Trust_throtte_100=2*interp2(matrix_height,martix_mach,matrix_trust_throtte_100,H/0.3048,1,'spline')*(0.453952*32.2*0.3048)-interp2(matrix_height,martix_mach,matrix_trust_throtte_100,H/0.3048,2-Mach,'spline')*(0.453952*32.2*0.3048); end
matrix_trust=[Trust_throtte_0 Trust_throtte_77 Trust_throtte_100]; matrix_throtte=[0 0.77 1];
X_trust=interp1(matrix_throtte,matrix_trust,deltat); if(alpha<=45/180*pi)
if(alpha>=-10/180*pi)
Cx=interp2(matrix_Elevator,matrix_Alpha,matrix_Cx,deltae,alpha,'spline')+Cx_q*(q/(2*V/c_));elseCx=2*interp2(matrix_Elevator,matrix_Alpha,matrix_Cx,deltae,-10/180*pi,'spline')-interp2(matrix_Elevator,matrix_Alpha,matrix_Cx,deltae,-10*2/180*pi-alpha,'spline')+Cx_q*(q/(2*V/c_)); end else
Cx=2*interp2(matrix_Elevator,matrix_Alpha,matrix_Cx,deltae,45/180*pi,'spline')-interp2(matrix_Elevator,matrix_Alpha,matrix_Cx,deltae,45/180*pi*2-alpha,'spline')+Cx_q*(q/(2*V/c_)); end
X_drag=Pv*S*Cx; X=X_trust+X_drag;
Cy=-0.02*180/pi*beta+0.021*(deltaa/20)+0.086*(deltar/30)+Cy_r*(r/(2*V/b))+Cy_p*(p/(2*V/b)); Y=Pv*S*Cy;
if(alpha<=45/180*pi)
if(alpha>=-10/180*pi)
Cz=interp1(matrix_Alpha,matrix_Cz,alpha,'spline')*(1-(beta)^2)-0.19*(del
36
飞行力学大作业 SY1105401 白斌
tae/25.0)+Cz_q*(q/(2*V/c_));elseCz=2*interp1(matrix_Alpha,matrix_Cz,-10/180*pi,'spline')*(1-(beta)^2)-interp1(matrix_Alpha,matrix_Cz,-10*2/180*pi-alpha,'spline')*(1-(beta)^2)-0.19*(deltae/25.0)+Cz_q*(q/(2*V/c_)); end
elseCz=2*interp1(matrix_Alpha,matrix_Cz,45/180*pi,'spline')*(1-(beta)^2)-interp1(matrix_Alpha,matrix_Cz,45/180*pi*2-alpha,'spline')*(1-(beta)^2)-0.19*(deltae/25.0)+Cz_q*(q/(2*V/c_)); end
Z=Pv*S*Cz;
Cl_deltaa=interp2(matrix_Beta2,matrix_Alpha,matrix_Cl_deltaa,beta,alpha,'spline');
Cl_deltar=interp2(matrix_Beta2,matrix_Alpha,matrix_Cl_deltar,beta,alpha,'spline');
if(alpha<=45/180*pi)
if(alpha>=-10/180*pi) if(beta>=0)
Cl=interp2(matrix_Beta1,matrix_Alpha,matrix_Cl,beta,alpha,'spline')+Cl_deltaa*deltaa+Cl_deltar*deltar+Cl_r*(r/(2*V/b))+Cl_p*(p/(2*V/b)); else
Cl=-interp2(matrix_Beta1,matrix_Alpha,matrix_Cl,-beta,alpha,'spline')+Cl_deltaa*deltaa+Cl_deltar*deltar+Cl_r*(r/(2*V/b))+Cl_p*(p/(2*V/b)); end else
if(beta>=0)
Cl=2*interp2(matrix_Beta1,matrix_Alpha,matrix_Cl,beta,-10/180*pi,'spline')-interp2(matrix_Beta1,matrix_Alpha,matrix_Cl,beta,-10/180*pi*2-alpha,'spline')+Cl_deltaa*deltaa+Cl_deltar*deltar+Cl_r*(r/(2*V/b))+Cl_p*(p/(2*V/b));
else
Cl=2*(-interp2(matrix_Beta1,matrix_Alpha,matrix_Cl,-beta,-10/180*pi,'spline'))-(-interp2(matrix_Beta1,matrix_Alpha,matrix_Cl,-beta,-10/180*pi*2-alpha,'spline'))+Cl_deltaa*deltaa+Cl_deltar*deltar+Cl_r*(r/(2*V/b))+Cl_p*(p/(2*V/b)); end end else
if(beta>=0)
Cl=2*interp2(matrix_Beta1,matrix_Alpha,matrix_Cl,beta,45/180*pi,'spline')-interp2(matrix_Beta1,matrix_Alpha,matrix_Cl,beta,45/180*pi*2-alpha,'spline')+Cl_deltaa*deltaa+Cl_deltar*deltar+Cl_r*(r/(2*V/b))+Cl_p*(p/(2*V/b));
else
37
飞行力学大作业 SY1105401 白斌
Cl=2*(-interp2(matrix_Beta1,matrix_Alpha,matrix_Cl,-beta,45/180*pi,'spline'))-(-interp2(matrix_Beta1,matrix_Alpha,matrix_Cl,-beta,45/180*pi*2-alpha,'spline'))+Cl_deltaa*deltaa+Cl_deltar*deltar+Cl_r*(r/(2*V/b))+Cl_p*(p/(2*V/b)); end end
L=Pv*S*b*Cl;
if(alpha<=45/180*pi)
if(alpha>=-10/180*pi)
Cm=interp2(matrix_Elevator,matrix_Alpha,matrix_Cm,deltae,alpha,'spline')+Cm_q*(q/(2*V/c_)); else
Cm=2*interp2(matrix_Elevator,matrix_Alpha,matrix_Cm,deltae,-10/180*pi,'spline')-interp2(matrix_Elevator,matrix_Alpha,matrix_Cm,deltae,-10/180*pi*2-alpha,'spline')+Cm_q*(q/(2*V/c_)); end else
Cm=2*interp2(matrix_Elevator,matrix_Alpha,matrix_Cm,deltae,45/180*pi,'spline')-interp2(matrix_Elevator,matrix_Alpha,matrix_Cm,deltae,45/180*pi*2-alpha,'spline')+Cm_q*(q/(2*V/c_)); end
M=Pv*S*c_*Cm;
Cn_deltaa=interp2(matrix_Beta2,matrix_Alpha,matrix_Cn_deltaa,beta,alpha,'spline');
Cn_deltar=interp2(matrix_Beta2,matrix_Alpha,matrix_Cn_deltar,beta,alpha,'spline');
if(alpha<=45/180*pi)
if(alpha>=-10/180*pi) if(beta>=0)
Cn=interp2(matrix_Beta1,matrix_Alpha,matrix_Cn,beta,alpha,'spline')+Cn_deltaa*deltaa+Cn_deltar*deltar+Cn_r*(r/(2*V/b))+Cn_p*(p/(2*V/b)); else
Cn=-interp2(matrix_Beta1,matrix_Alpha,matrix_Cn,-beta,alpha,'spline')+Cn_deltaa*deltaa+Cn_deltar*deltar+Cn_r*(r/(2*V/b))+Cn_p*(p/(2*V/b)); end else
if(beta>=0)
Cn=2*interp2(matrix_Beta1,matrix_Alpha,matrix_Cn,beta,-10/180*pi,'spline')-interp2(matrix_Beta1,matrix_Alpha,matrix_Cn,beta,-10/180*pi*2-alpha,'
38
飞行力学大作业 SY1105401 白斌
spline')+Cn_deltaa*deltaa+Cn_deltar*deltar+Cn_r*(r/(2*V/b))+Cn_p*(p/(2*V/b));
else
Cn=2*(-interp2(matrix_Beta1,matrix_Alpha,matrix_Cn,-beta,-10/180*pi,'spline'))-(-interp2(matrix_Beta1,matrix_Alpha,matrix_Cn,-beta,-10/180*pi*2-alpha,'spline'))+Cn_deltaa*deltaa+Cn_deltar*deltar+Cn_r*(r/(2*V/b))+Cn_p*(p/(2*V/b)); end end else
if(beta>=0)
Cn=2*interp2(matrix_Beta1,matrix_Alpha,matrix_Cn,beta,45/180*pi,'spline')-interp2(matrix_Beta1,matrix_Alpha,matrix_Cn,beta,45/180*pi*2-alpha,'spline')+Cn_deltaa*deltaa+Cn_deltar*deltar+Cn_r*(r/(2*V/b))+Cn_p*(p/(2*V/b));
else
Cn=2*(-interp2(matrix_Beta1,matrix_Alpha,matrix_Cn,-beta,45/180*pi,'spline'))-(-interp2(matrix_Beta1,matrix_Alpha,matrix_Cn,-beta,45/180*pi*2-alpha,'spline'))+Cn_deltaa*deltaa+Cn_deltar*deltar+Cn_r*(r/(2*V/b))+Cn_p*(p/(2*V/b)); end end
N=Pv*S*b*Cn;
D_Vx=(X-m*g*sin(theta))/m-q*Vz+r*Vy;
D_Vy=(Y+m*g*cos(theta)*sin(phi))/m-r*Vx+p*Vz; D_Vz=(Z+m*g*cos(theta)*cos(phi))/m-p*Vy+q*Vx;
D_p=((L*Iz+N*Ixz)-q*r*(Iz^2-Iy*Iz+Ixz^2)-p*q*(Ixz*Iy-Ixz*Ix-Iz*Ixz))/(Ix*Iz-Ixz^2);
D_q=(M-r*p*(Ix-Iz)-Ixz*(p^2-r^2)-r*hx)/Iy; %D_q=(M-r*p*(Ix-Iz)-Ixz*(p^2-r^2))/Iy;
D_r=(N+Ixz*D_p-p*q*(Iy-Ix)-Ixz*q*r+q*hx)/Iz; %D_r=(N+Ixz*D_p-p*q*(Iy-Ix)-Ixz*q*r)/Iz; D_phi=p+(q*sin(phi)+r*cos(phi))*tan(theta); D_theta=q*cos(phi)-r*sin(phi);
D_psi=(q*sin(phi)+r*cos(phi))*sec(theta);
sys = [D_Vx D_Vy D_Vz D_p D_q D_r D_phi D_theta D_psi]; function sys=mdlUpdate(t,x,u) sys = [];
ction sys=mdlOutputs(t,x,u)
sys = [x(1) x(2) x(3) x(4) x(5) x(6) x(7) x(8) x(9) sqrt(x(1)^2+x(2)^2+x(3)^2)];
39
飞行力学大作业 SY1105401 白斌
function sys=mdlGetTimeOfNextVarHit(t,x,u) sys=[];
function sys=mdlTerminate(t,x,u) sys = [];
40