基本原理就不过多赘述了,根据上次那个,火箭速度计算程序求积分,就是计算程序了.上次那帖的网址如下:
XXXXXXXXXXXXXXXXXXXXXXXX/t/19406用途:
本程序用于,火箭垂直发射时,飞行高度的近似计算.
未考虑风速,以及在发射架上,受到的额外的阻力.空气阻力记为f=kv2.
关于误差[s:2]以下为部分截图)
注:
本程序可以加入推力变化和火箭质量变化的拟合式,是的计算进一步精确.
程序代码如下:
#include"stdio.h"
#include"math.h"
main()
{double v=0,m,g=9.8,k,F,tb,hb=0,hc=0;
long int tk;
printf("[s:9]leace income the value of m(Mass),k(Air resistance coefficient),F(Engine average thrust force),tb(Combustion duration)\nAnd use comma separate.\n");
/*译为:请输入数值:质量,空气阻力系数,发动机平均推力,燃烧时间.并用逗号隔开.*/
scanf("%lf,%lf,%lf,%lf",&m,&k,&F,&tb);
for(tk=1;tk<=10000*tb;tk++)
{if(F-m*g-k*v*v>=0)
v=v+(F/m-k*v*v/m-g)/10000;
else
v=sqrt((F-m*g)/k);
hb=hb+(v/10000);
}
while(v>=0)
{v=v+(-k*v*v/m-g)/10000;
hc=hc+(v/10000);
}
printf("h=%lf\n",hb+hc);
}
另外,本人计划尝试计算火箭倾斜发射时的弹道.但是如过只是理论计算,正确性必然会遭到质疑.为了确保准确,希望能找人合作,希望有人提供火箭的参数,以验证计算方法的准确性.
(完毕)