资源描述
通用弹道仿真计算程序float rho_p=1600;float w=1.16;float power=950000;float theta=0.25;float alpha=0.001;float u1=1.95e-8;float index=0.83;float e1=0.00055;float d=0.00055;float chi=0.75;float lambda=0.12;float mu=0.0;float chi_s=1.696;float lambda_s=-0.4104;float m=2.8;float s=0.00266;float V0=0.00151;float l_g=3.624;float phi=1.168;float l_psi;float l_0;float z_k;float psi;float psi_0;float p;float p1,p2,t1,t2,l1,l2;int bijiao=0; /*以上为全局变量,内弹道参数值*/ voidrk(n, tO, t,min,y0,y,work0,workl,work2,work3,fkt)/*变步长龙格库塔法子程序 */int n;float 10, t,min,y0; void fkt();/*右端函数*/float (*y);float work0,work1,work2,work3;float temp5;int m,i,j,k,exit;float step,t1,ttemp,tempd,c;m=1;exit=0;while(exit=0)step=(t-t0)/m;for(i=1;i=n;i+)(*y)i-1=y0i-1;t1=t0;temp0=0.5*step;temp1=temp0;temp2=temp0;temp3=step;temp4=step;for(k=1;k=m;k+)ttemp=t1;for(i=1;i=n;i+)work1i-1=(*y)i-1;work3i-1=(*y)i-1;for(j=1;j=4;j+)fkt(work1,work2);t1=ttemp+tempj;for(i=1;i=n;i+)work1i-1=work3i-1+tempj-1*work2i-1;(*y)i-1=(*y)i-1+tempj*work2i-1/3;m=m+m;if(m!=2)tempd=0;for(i=1;i1)c=(*y)i-1-work0i-1)/(*y)i-1;elsec=(*y)i-1-work0i-1;if(ctempd)tempd=c;if(tempd=min)exit=1;if(exit=0)for(i=1;i=n;i+)work0i-1=(*y)i-1;#include#includevoid fkt(float(*y),float(*f) z_k=1+0.2596*(d*0.5+e1)/e1;l_0=V0/s;l_psi=l_0*(1-(w/V0)/rho_p-(w/V0)*(alpha-1/rho_p)*psi); if(*y)01) psi=chi*(*y)0*(1+lambda*(*y)0+mu*(*y)0*(*y)0);else if(*y)0z_k)psi=chi_s*(*y)0*(1+lambda_s*(*y)0/z_k)/z_k;elsepsi=1;p=(power*w*psi-0.5*theta*phi*m*(*y)2*(*y)2)/(*y)1+l_psi)/s;if(*y)0z_k)(*f)0=u1*pow(p,index)/e1;else(*f)0=0;(*f)1=(*y)2;(*f)2=s*p/(phi*m);return;main()float y03;int i,k,n;float y3,work03,work13,work23,work33;float t0,t,min;FILE*ftxtfile=NULL;void fkt();psi_0=(V0/w-1.0/rho_p)/(power/30000000+alpha-1.0/rho_p);y00=(sqrt(4*lambda*psi_0/chi+1)-1)/lambda*0.5;y01=0.0;y02=0.0;n=3;t0=0.0;min=5e-5;/if(ftxtfile=fopen(c:tcdata.txt,w)=NULL)if(ftxtfile=fopen(data.txt,w)=NULL)printf(Sorry,you cant open the filen);exit(0);for(k=0;k+)t=t0+5e-6;rk(n,t0,t,min,y0,&y,work0,work1,work2,work3,fkt);p=(power*w*psi-0.5*theta*phi*m*y2*y2)/(y1+l_psi)/s;if(bijiao=0)t1=t2;t2=t;l1=l2;l2=y1;p1=p2;p2=p;if(p2=l_g)break;fprintf(ftxtfile,%f %f %f %fn,t,y1,y2,p);for(i=1;i=3;i+)y0i-1=yi-1;t0=t;fclose(ftxtfile);
展开阅读全文