Runge Kutta Method를 이용한 비행동역학 풀이 및 프로그래밍
본 자료는 8페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
해당 자료는 8페이지 까지만 미리보기를 제공합니다.
8페이지 이후부터 다운로드 후 확인할 수 있습니다.

소개글

Runge Kutta Method를 이용한 비행동역학 풀이 및 프로그래밍에 대한 보고서 자료입니다.

목차

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

본문내용

_
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 / 다성출판사

키워드

  • 가격4,000
  • 페이지수23페이지
  • 등록일2007.02.15
  • 저작시기2007.1
  • 파일형식한글(hwp)
  • 자료번호#394829
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니