课程设计报告(火箭运载能力分析)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计报告

一.题目

运载火箭运载性能分析

1. 总体参数

表1 两种改进型的总体参数

2. 俯仰角的设计

z改进型1 程序角设计方案为:一子级从90 度线性变化到14 度,二子级从14 度线性变化到2 度。

z改进型1 程序角设计方案为:一子级从90 度线性变化到18 度,二子级从18 度线性变化到4 度。

二.所用到的计算公式

d m dv =

dt

p − 0.5ρv 2c

− mg sin

θ dx

= v cos θ dt dy

= v sin θ dt

三.编程思想及框图

由于编程的目的是解决求解微分方程的解,所以可以采用计算方法里面的龙格库 塔求解法,或者欧拉求解法,我选用的是龙格库塔求解法,我的设计思想是这样的 主函数是解方程,另外建立火箭的模型,大气密度用函数计算,整合到 mian 函数中 进行解算,对比两种改进型的高度,速度及距离随时间的变化规律,作出判断。

四.程序代码

//头文件 rocket3.h

//完成两种改进型火箭的弹道特性计算,作者:胡攀 最后修改:2008-12-23 19:30 #include "stdio.h" #include "math.h" #ifndef ROCKET_H #define ROCKET_H double ru(double h);

void kuta (int n, double t, double midu, double h, double* y, void Fct( double t, double midu, double* y, double* f));//龙格库塔积分函数 void Fct1(double t, double midu, double* y, double* f); //改进型一号的第一级火箭模型 void Fct2(double t, double midu, double* y, double* f); //改进型一号的第二级火箭模型 void Fct3(double t, double midu, double* y, double* f); //改进型二号的第一级火箭模型 void Fct4(double t, double midu, double* y, double* f); //改进型二号的第二级火箭模型

double ru(double h); //大气密度函数

#endif

//主函数

#include

#include

#include"rocket3.h"

void main()

{

//主函数中各变量定义n 是模型状态量数 ,h 是步长,t 是时间,midu 为大气密度

int n,j;

double h,t,tf,midu;

double *y;

FILE *fp;

printf("请输入积分步长 'h'.\n");

scanf("%lf",&h); printf("开始计算改进型一

号的运载特性\n"); n=3;

y=new double[n];

fp=fopen("a.text","w");

y[0]=0;

y[1]=0; y[2]=0;

tf=152.063;

t=0;

for(j=0;1;j++)

//改进型一号第一级火箭发动机

{

midu=ru(y[2]);

kuta(n, t,midu, h, y, Fct1);

t=h*j;

fprintf(fp,"%lf %lf %lf %lf\n",t,y[0],y[1],y[2]); //写进文件a.text

if(t>=tf)

break;

}

printf(" 第一级火箭分离时,火箭速度 %lf m/s ,射程 %lf m,高度 %lf m\n",y[0],y[1],y[2]);

tf=173.239;

t=0;

for(j=0;1;j++)

//改进型一号第二级火箭发动机

{

midu=ru(y[2]);

kuta(n, t,midu, h, y, Fct2);

t=h*j;

if(t>=tf)

break;

fprintf(fp,"%lf %lf %lf %lf\n",t+152.063,y[0],y[1],y[2]); //写进文件a.text

}

printf(" 第二级火箭分离时,火箭速度 %lf m/s ,射程 %lf m,高度 %lf m\n",y[0],y[1],y[2]);

printf("开始计算改进型二号的运载特性\n");

fp=fopen("b.text","w");

y[0]=0;

y[1]=0;

y[2]=0;

tf=141.881;

t=0;

for(j=0;1;j++)

//改进型二号第一级火箭发动机

{

midu=ru(y[2]);

kuta(n, t,midu, h, y, Fct3);

t=h*j;

if(t>=tf)

break;

fprintf(fp,"%lf %lf %lf %lf\n",t,y[0],y[1],y[2]); //写进文件b.text

}

printf(" 第一级火箭分离时,火箭速度 %lf m/s ,射程 %lf m,高度 %lf m\n",y[0],y[1],y[2]);

tf=178.887;

t=0;

for(j=0;1;j++)

//改进型二号第二级火箭发动机

{

midu=ru(y[2]);

kuta(n, t,midu, h, y, Fct4);

相关文档
最新文档