목차
1. 서론
2. 본론
1). 운동 방정식의 유도
2). Longitudinal Equation의 유도와 선형화
3). Linearized Longitudinal Equation of Motion의 무차원화
4). Stability Derivatives
5). Runge Kutta Method의 적용
6). 비행 조건 분석
7). 프로그램 작성
3. 결론
1). 결과
2). 결과 분석 및 토의
4. ∙Programming Source
1). C++
2). MATLAB
5. ∙References
2. 본론
1). 운동 방정식의 유도
2). Longitudinal Equation의 유도와 선형화
3). Linearized Longitudinal Equation of Motion의 무차원화
4). Stability Derivatives
5). Runge Kutta Method의 적용
6). 비행 조건 분석
7). 프로그램 작성
3. 결론
1). 결과
2). 결과 분석 및 토의
4. ∙Programming Source
1). C++
2). MATLAB
5. ∙References
본문내용
_
def_rad)
#define t_dot(T_dot) (T_dot)
#define t_dot_dot(u,a,T,T_dot,ele_def_rad) (0.01153*u-1.169*a-0.4809*T_dot-1.379*
ele_def_rad)
void main()
{
ofstream fout;
fout.open("response.txt");
fout<<" Time Velocity Angle of attack Pitch angle rate Pitch angle Elavator angle"<
double u1,u2,u3,u4,a1,a2,a3,a4,T1,T2,T3,T4,T_dot1,T_dot2,T_dot3,T_dot4;
double t=0.;
double u0, a0, T0,T_dot0;
u0=0.;
a0=0.;
T0=0.;
T_dot0=0.;
u=0.;
a=0.;
T=0.;
T_dot=0.;
while(1)
{
if(t>=0.9 && t<=3.1)
ele_def_rad=-0.10472;
else if(t>=23.0 && t<=25.1)
ele_def_rad=0.10472;
else
ele_def_rad=0.;
u1=u_dot(u,a,T);
u=u+u1*h/2.;
u2=u_dot(u,a,T);
u=u+u2*h/2.;
u3=u_dot(u,a,T);
u=u+u3*h;
u4=u_dot(u,a,T);
u=u0+1./6.*(u1+2.*u2+2.*u3+u4)*h;
a1=a_dot(u,a,T_dot,ele_def_rad);
a=a+a1*h/2.;
a2=a_dot(u,a,T_dot,ele_def_rad);
a=a+a2*h/2.;
a3=a_dot(u,a,T_dot,ele_def_rad);
a=a+a3*h;
a4=a_dot(u,a,T_dot,ele_def_rad);
a=a0+1./6.*(a1+2.*a2+2.*a3+a4)*h;
T1=t_dot(T_dot);
T_dot=T_dot+T1*h/2.;
T2=t_dot(T_dot);
T_dot=T_dot+T2*h/2.;
T3=t_dot(T_dot);
T_dot=T_dot+T3*h;
T4=t_dot(T_dot);
T=T0+1./6.*(T1+2.*T2+2.*T3+T4)*h;
T_dot1=t_dot_dot(u,a,T,T_dot,ele_def_rad);
T_dot=T_dot+T_dot1*h/2.;
T_dot2=t_dot_dot(u,a,T,T_dot,ele_def_rad);
T_dot=T_dot+T_dot2*h/2.;
T_dot3=t_dot_dot(u,a,T,T_dot,ele_def_rad);
T_dot=T_dot+T_dot3*h/2.;
T_dot4=t_dot_dot(u,a,T,T_dot,ele_def_rad);
T_dot=T_dot0+1./6.*(T_dot1+2.*T_dot2+2.*T_dot3+T_dot4)*h;
u0=u;
a0=a;
T0=T;
T_dot0=T_dot;
fout<
t=t+h;
if(t>tot)
break;
}
fout.close();
}
2). MATLAB
(1) main.m
y0=[.0 .0 .0 .0];
total_time=0.:0.1:180.;
[t, y]=ode45('func',total_time,y0);
U=600.;
deg=180./pi;
ele_def_rad=0.10472;
ele_def=ele_def_rad*deg;
y1=y(:,1)*U;
y2=y(:,2)*deg;
y3=y(:,3)*deg;
y4=y(:,4)*deg;
subplot(5,1,1), plot(t(:,1),y1,'color','r');
ylabel('u(ft/sec)');
grid;
subplot(5,1,2), plot(t(:,1),y2,'color','r');
ylabel('alpha(deg)');
grid;
subplot(5,1,3), plot(t(:,1),y3,'color','r');
ylabel('theta(deg)');
grid;
subplot(5,1,4), plot(t(:,1),y4,'color','r');
ylabel('theta dot(deg/sec)');
grid;
subplot(5,1,5), plot([0. 1. 1. 3. 3. 0. 23. 23. 25. 25. 180.0],[0. 0. -ele_def -ele_def 0. 0. 0. ele_def ele_def 0. 0.],'color','r');
ylabel('deflection(deg)');
xlabel('t(sec)');
grid;
(2) func.m
function func=func(t,y)
if t>=1.& t<=3. ;
ele_def_rad=-0.10472;
elseif t>=23.& t<=25. ;
ele_def_rad=0.10472;
else
ele_def_rad=0;
end
func=zeros(4,1);
func(1)=-0.006386*y(1)+0.02845*y(2)-0.054*y(3);
func(2)=-0.1073*y(1)-0.3232*y(2)+0.994*y(4)-0.0178*ele_def_rad;
func(3)=y(4);
func(4)=0.01153*y(1)-1.169*y(2)-0.4809*y(4)-1.379*ele_def_rad;
5. References
1. AutoMatic Control of Aircraft and Missiles 2nd Edition
- John H. Blaklock / 1991 / John Wiley & Sons
2. 공학도를 위한 수치해석
-Steven C. Chapra / 2002 / McGraw-Hill Korea
3. C++언어 입문
-Haruhiko Hayashi / 2001 / Youngjin.com
4. MATLAB 프로그래밍 언어
-박 진 수 / 2001 / 영한출판사
5. MATLAB 기초에서 응용까지
-김 종 성 외 1명 / 2000 / 다성출판사
def_rad)
#define t_dot(T_dot) (T_dot)
#define t_dot_dot(u,a,T,T_dot,ele_def_rad) (0.01153*u-1.169*a-0.4809*T_dot-1.379*
ele_def_rad)
void main()
{
ofstream fout;
fout.open("response.txt");
fout<<" Time Velocity Angle of attack Pitch angle rate Pitch angle Elavator angle"<
double t=0.;
double u0, a0, T0,T_dot0;
u0=0.;
a0=0.;
T0=0.;
T_dot0=0.;
u=0.;
a=0.;
T=0.;
T_dot=0.;
while(1)
{
if(t>=0.9 && t<=3.1)
ele_def_rad=-0.10472;
else if(t>=23.0 && t<=25.1)
ele_def_rad=0.10472;
else
ele_def_rad=0.;
u1=u_dot(u,a,T);
u=u+u1*h/2.;
u2=u_dot(u,a,T);
u=u+u2*h/2.;
u3=u_dot(u,a,T);
u=u+u3*h;
u4=u_dot(u,a,T);
u=u0+1./6.*(u1+2.*u2+2.*u3+u4)*h;
a1=a_dot(u,a,T_dot,ele_def_rad);
a=a+a1*h/2.;
a2=a_dot(u,a,T_dot,ele_def_rad);
a=a+a2*h/2.;
a3=a_dot(u,a,T_dot,ele_def_rad);
a=a+a3*h;
a4=a_dot(u,a,T_dot,ele_def_rad);
a=a0+1./6.*(a1+2.*a2+2.*a3+a4)*h;
T1=t_dot(T_dot);
T_dot=T_dot+T1*h/2.;
T2=t_dot(T_dot);
T_dot=T_dot+T2*h/2.;
T3=t_dot(T_dot);
T_dot=T_dot+T3*h;
T4=t_dot(T_dot);
T=T0+1./6.*(T1+2.*T2+2.*T3+T4)*h;
T_dot1=t_dot_dot(u,a,T,T_dot,ele_def_rad);
T_dot=T_dot+T_dot1*h/2.;
T_dot2=t_dot_dot(u,a,T,T_dot,ele_def_rad);
T_dot=T_dot+T_dot2*h/2.;
T_dot3=t_dot_dot(u,a,T,T_dot,ele_def_rad);
T_dot=T_dot+T_dot3*h/2.;
T_dot4=t_dot_dot(u,a,T,T_dot,ele_def_rad);
T_dot=T_dot0+1./6.*(T_dot1+2.*T_dot2+2.*T_dot3+T_dot4)*h;
u0=u;
a0=a;
T0=T;
T_dot0=T_dot;
fout<
if(t>tot)
break;
}
fout.close();
}
2). MATLAB
(1) main.m
y0=[.0 .0 .0 .0];
total_time=0.:0.1:180.;
[t, y]=ode45('func',total_time,y0);
U=600.;
deg=180./pi;
ele_def_rad=0.10472;
ele_def=ele_def_rad*deg;
y1=y(:,1)*U;
y2=y(:,2)*deg;
y3=y(:,3)*deg;
y4=y(:,4)*deg;
subplot(5,1,1), plot(t(:,1),y1,'color','r');
ylabel('u(ft/sec)');
grid;
subplot(5,1,2), plot(t(:,1),y2,'color','r');
ylabel('alpha(deg)');
grid;
subplot(5,1,3), plot(t(:,1),y3,'color','r');
ylabel('theta(deg)');
grid;
subplot(5,1,4), plot(t(:,1),y4,'color','r');
ylabel('theta dot(deg/sec)');
grid;
subplot(5,1,5), plot([0. 1. 1. 3. 3. 0. 23. 23. 25. 25. 180.0],[0. 0. -ele_def -ele_def 0. 0. 0. ele_def ele_def 0. 0.],'color','r');
ylabel('deflection(deg)');
xlabel('t(sec)');
grid;
(2) func.m
function func=func(t,y)
if t>=1.& t<=3. ;
ele_def_rad=-0.10472;
elseif t>=23.& t<=25. ;
ele_def_rad=0.10472;
else
ele_def_rad=0;
end
func=zeros(4,1);
func(1)=-0.006386*y(1)+0.02845*y(2)-0.054*y(3);
func(2)=-0.1073*y(1)-0.3232*y(2)+0.994*y(4)-0.0178*ele_def_rad;
func(3)=y(4);
func(4)=0.01153*y(1)-1.169*y(2)-0.4809*y(4)-1.379*ele_def_rad;
5. References
1. AutoMatic Control of Aircraft and Missiles 2nd Edition
- John H. Blaklock / 1991 / John Wiley & Sons
2. 공학도를 위한 수치해석
-Steven C. Chapra / 2002 / McGraw-Hill Korea
3. C++언어 입문
-Haruhiko Hayashi / 2001 / Youngjin.com
4. MATLAB 프로그래밍 언어
-박 진 수 / 2001 / 영한출판사
5. MATLAB 기초에서 응용까지
-김 종 성 외 1명 / 2000 / 다성출판사
키워드
추천자료
- C로 구현한 수치해석
- matlab을 이용한 4차 연립RK법
- 4차 RK법을 이용하여 계산하는 프로그램 작성
- [C언어]선형회귀분석, Runge Kutta
- [수치해석]Runge-kutta 4th-order Method and Implicit Trapezoidal Method
- Runge-Kutta Method, 연립방정식 ( system equation )
- 수치해석 - Runge-Kutta법
- 테일러 급수, 오일러, 수정 오일러, Euler, Runge-Kutta, Runge-Kutta-Fehlberg
- 수치해석 상미분방정식 Euler,Runge - Kutta Method
소개글