内弹道程序报告.docx:..内弹道程序报告学号:专业:武器发射工程学院:能源与动力工程学院指导教师:,微分方程是非线性的,编制通过数值解法进行求解的程序。(1) 输入己知的数据,包括火炮构造,弹丸诸元,装药条件,起始条件,步长等参数。(2) 进行一些常量的计算,方便在程序中进行使用。(3) 计算内弹道方程中变量的初值。(4) 将内弹道方程组进行量纲化,然后使用龙格库塔法计算微分方程,包括最大压力搜索和特征点判断,得出各个过程的数据。(5) 将程序输出成表格和曲线。(1)在程序中首先要编制一个四阶的龙格库塔子函数,同吋还要编制一个微分方程右端子函数。在龙格库塔子函数编制过程中借鉴了之前导弹运动弹道程序的编制。voidrk(nrh)intn;doubleh;externvoidderyQ;doublea[4],old_y[6],Yl[6],*dy;intij;dy=callocfn,sizeof(double));a[0]=a[l]=h/2;a[2]=a[3]=h;dery(nzdy,Y);for(i=0;i<n;i++)old_y[i]=Y[i];for(j=0;j<3;j++){for(i=0;i<n;i++){Yl[i]=old_y[i]+a[j]*dy[i];Y[i]=Y[i]+a[j+1]*dy[i]/3;}dery(nzdyzYl);}for(i=0;i<n;i++)Y[i]=Y[i]-f-a[0]*dy[i]/3;free(dy);return;(2)在最大压力点的判断上也出现了问题,为了判断最大压力点设置三个数组分别记录三组数据,当第二组的压强大于第一和第三组的压强吋,那最大压强点就在第二组附近,然后减小步长进行精确的计算。do{t[0]=Y[0];kesai[0]=Y[l];z[0]=Y[2];l[0]=Y[3];v[0]=Y[4];p[0]=Y[5];ta=t[0];kesaia=kesai[0];za=z[0];la=l[0];va=v
内弹道程序报告 来自淘豆网www.taodocs.com转载请标明出处.