MATLAB内弹道程序 - 毕设专用!!!
基于 Matlab 的舰炮内弹道计算模块的 GUI 设计

基于 Matlab 的舰炮内弹道计算模块的 GUI 设计
吴晶;刘金元;陈重阳;李海林
【期刊名称】《舰船电子工程》
【年(卷),期】2014(000)006
【摘要】内弹道仿真中涉及大量数据的计算、图形化显示以及不同弹道模型间的
切换。
为开发舰炮内弹道计算模块,利用四阶五级龙格-库塔法求解经典内弹道模型,借助Matlab的图形用户界面开发环境GUIDE开发此模块,在同一界面上实
现单一装药和任意两种火药混合装药的内弹道计算。
应用该模块对某大口径舰炮高、低温内弹道进行仿真,计算结果和试验值一致性较好,验证了该模块开发的正确性。
【总页数】4页(P93-95,116)
【作者】吴晶;刘金元;陈重阳;李海林
【作者单位】海军工程大学管理工程系武汉 430033;广州地区装备修理监修室广州 510715;海军工程大学管理工程系武汉 430033;海军工程大学管理工程系武汉430033
【正文语种】中文
【中图分类】TJ410
【相关文献】
1.基于Matlab GUI的\"调制与解调\"仿真模块的设计 [J], 季丹
2.基于MATLAB GUI长距离带式输送机平面转弯设计计算软件开发 [J], 曲高飞
3.基于MATLAB GUI的角接触球轴承接触疲劳寿命计算系统设计 [J], 李俊文;陈
玉莲;钟奇
4.基于MATLAB_GUI的微积分相关计算验证系统设计 [J], 曾冠雄;李军成
5.基于MATLAB的GUI图形界面的教学设计--以“简易计算器设计”为例 [J], 胡春;吴伶锡;刘慧玲
因版权原因,仅展示原文概要,查看原文内容请购买。
基于MATLAB的枪炮内弹道程序设计及仿真

内弹道程序设计 M一函数 m _u g y fn :
f n to y u c in d =my fn( , u g ,C t ) Y
_
d =zrs ,) y eo( 1 3 ; ci= ()a d l C2;u = 3;1 = () lc5;1= () hl C1;mb a= ( m lc( u c4; = () 1 c6; l ) ) 1 n e S C7;h= () m g1 C9; o c 1 )et= 01 = () iC8; ea = ()一 = (o; l C ; p o 1 d a ) D h = (2;= (3;lh= ( )ht= (5; C 1) e aC 1) C 1) p a C1 ; e C 1)= (6; e r a 4t a f
_
P=(* m glpi te h I v2/)S ( +lpi) fo ea s-ht p in ^ 2/ 1 _ s) a ( ; d(1 l/l ^l y1 =u e pn ; 1 1
d() / h m) y =sp( i ; 2 p d()v y :; 3 d =[y1d() y3] y d() y2; () ; d ; 根据上述过程 , 编制内弹道计算程序 , 软件 ma a 用 t b进行仿真 。本 l
文研究 1.mm大 口径机 枪内弹道规律 。最 终计算结果 如表 l和 p t 27 -、 p lv tv l —、— 、~ 曲线如图 2 即该弹丸在炮膛 内任 意时刻时的弹道诸元 。 , 表 11.m 27 m大 口径机枪 的弹道计算结果
tms / vm/ / s 1 m / d P MPa P / / d MPa P / a tMP
基本方程求出 p tp lv tv l -、- 、—、— 的内弹道诸元 曲线 ,为枪炮弹药系统设 计 及弹道性 能分析提供基本数据 。 内弹道解法是 内弹道理论 的核心 , 电子计 算机出现之前 , 在 传统的 解 法有 : 经验 法、 析法 、 解 表解法 和图解法 。这些方法的特点是直观 、 简 单 , 局限性 大。随着计算机在 弹道 学中的广泛应用 , 但 人们可以更深入 地研究射击 过程 , 建立更精确 的数学模 型 ,通过数值方法获得膛 内压 力、 弹丸速度 等参量变化规律 的较精确的描述。 2内弹道计算程序及其结论 . 内弹道计算 的程序流程 图如 图 1 所示。
内弹道 龙格库塔 计算 matlab

内弹道是指射程较短的导弹或火箭弹在飞行过程中受到大气阻力和重力等作用的飞行轨迹。
内弹道理论研究的是导弹或火箭弹在发射后到离开大气层再进入大气层末时的飞行过程。
内弹道包括导弹或火箭弹在发射后的加速、稳定、制导、飞行以及飞行过程中的动力学性能仿真等诸多内容。
内弹道有着复杂的飞行特性和动力学方程,在实际工程中需要进行准确的计算和仿真。
内弹道的计算中,龙格库塔(Runge-Kutta)法是一种常用的数值积分方法,在求解微分方程等领域有着广泛的应用。
龙格库塔法是由数学家奥特翁格(C. W. Runge)和马丁庫塔(M. W. J. Kutta)于1900年提出的,用于求解常微分方程初值问题,其优点是精度较高,适用范围广。
在内弹道计算中,可以利用龙格库塔法对导弹或火箭弹的飞行轨迹进行数值模拟和计算,得到较为准确的飞行轨迹数据。
在实际工程中,为了方便进行内弹道的计算,可以使用Matlab等数学建模和仿真软件。
Matlab是一种常用的科学计算软件,具有强大的数值计算和仿真功能,可以用于内弹道计算中的龙格库塔法数值模拟。
在Matlab中,可以编写相应的程序,利用龙格库塔法对导弹或火箭弹的飞行过程进行仿真和计算,得到准确的飞行轨迹和动力学性能数据。
内弹道计算是导弹或火箭弹研究设计中的重要内容,龙格库塔法是一种常用的数值积分方法,Matlab是一种常用的科学计算软件,它们的应用能够有效地进行内弹道的计算和仿真,为导弹或火箭弹的研制提供重要的技术支持。
随着技术的不断发展,内弹道计算已经成为导弹或火箭弹研究设计中不可或缺的一部分。
在内弹道计算中,龙格库塔法是一种常用的数值积分方法,可以对导弹或火箭弹的飞行轨迹进行数值模拟和计算,提供准确的飞行轨迹数据。
而Matlab作为一种强大的科学计算软件,对于内弹道的计算和仿真也有着重要的应用价值。
在实际工程中,使用Matlab编写程序,利用龙格库塔法对导弹或火箭弹的飞行轨迹进行数值模拟和计算,将为导弹或火箭弹的研制提供重要的技术支持。
MATLAB零维内弹道

实验三固体火箭发动机零维内弹道计算M文件:function dy=neidandao(t,y);dy=zeros(4,1);rou=y(1);p=y(2);Vc=y(3);e=y(4);d0=0.016;h0=0.08;D0=0.03;rougr=1750;k=1.17;R=300;Tp=3200;b=0.002411;n=0.315;At=pi*16*10^(-6);fai=0.95;ka=0.98;r=b*(p/1.013/10^5)^n;gama=(2/(k+1))^((k+1)/(2*(k-1)))*sqrt(k);c=sqrt(R*Tp)/gama;if e<=(D0-d0)/2Ab=pi*(d0+2*e)*h0;else Ab=0;enddy(1)=(1/Vc)*((rougr-rou)*Ab*r-(fai*p*At)/(c*sqrt(ka)));dy(2)=(1/Vc)*(rougr*Ab*r*k*R*ka*Tp-(fai*p*p*At*k)/(rou*c*sqrt(ka))-p*Ab*r); dy(3)=Ab*r;dy(4)=r;end主程序:>> [t,y]=ode45('neidandao',[0:0.00001:1.5],[1.29;101300;pi*0.008*0.008*0.08;0]); >> plot(t,y(:,2))P-t 曲线00.51 1.500.511.522.536初始段P-t 曲线00.0050.010.015024681012145燃烧终了段P-t 曲线实验总结这次实验是我们对所学课程即固体火箭发动机零维内弹道计算以及MATLAB 软件的一次练习。
通过这次实验,我了解了常微分方程组数值解法的一般过程,掌握了用MATLAB 软件的具体实现方法,得到了零维内弹道压强曲线,完成了实验的要求。
在MATLAB 中,实现常微分方程组数值解法的是ode 函数(在本实验中用的是ode45),它不需要用户自己编程,使用起来比较简单,总体来说这次实验也完成的比较顺利。
matlab命令大全92673

一、常常利用对象操作:除一般windows窗口的常常利用功能键外。
1、!dir 可以查看当前工作目录的文件。
!dir& 可以在dos状态下查看。
2、who 可以查看当前工作空间变量名,whos 可以查看变量名细节。
3、功能键:功能键快捷键说明方向上键 Ctrl+P 返回前一行输入方向下键 Ctrl+N 返回下一行输入方向左键 Ctrl+B 光标向后移一个字符方向右键 Ctrl+F 光标向前移一个字符Ctrl+方向右键 Ctrl+R 光标向右移一个字符Ctrl+方向左键 Ctrl+L 光标向左移一个字符home Ctrl+A 光标移到行首End Ctrl+E 光标移到行尾Esc Ctrl+U 清除一行Del Ctrl+D 清除光标所在的字符Backspace Ctrl+H 删除光标前一个字符Ctrl+K 删除到行尾Ctrl+C 中断正在执行的命令4、clc可以命令窗口显示的内容,但并不清除工作空间。
二、函数及运算+:加,-:减, *:乘, /:除,\:左除 ^:幂,‘:复数的共轭转置,():制定运算顺序。
2、常用函数表:sin( ) 正弦(变量为弧度)Cot( ) 余切(变量为弧度)sind( ) 正弦(变量为度数)Cotd( ) 余切(变量为度数)asin( ) 反正弦(返回弧度)acot( ) 反余切(返回弧度)Asind( ) 反正弦(返回度数)acotd( ) 反余切(返回度数)cos( ) 余弦(变量为弧度)exp( ) 指数cosd( ) 余弦(变量为度数)log( ) 对数acos( ) 余正弦(返回弧度)log10( ) 以10为底对数acosd( ) 余正弦(返回度数)sqrt( ) 开方tan( ) 正切(变量为弧度)realsqrt( ) 返回非负根tand( ) 正切(变量为度数)abs( ) 取绝对值atan( ) 反正切(返回弧度)angle( ) 返回复数的相位角atand( ) 反正切(返回度数)mod(x,y) 返回x/y的余数sum( ) 向量元素求和3、其余函数可以用help elfun和help specfun命令获得。
内弹道课程设计

摘要本文应用MATLAB软件编写程序,在不同装填密度下,得出内弹道方程组的数值解,应用EXCLE表格对数据进行处理,模拟膛压p、弹丸速度 随弹丸行程l的变化的关系,即对应用程序所解得的内弹道P~l、V~l曲线进行分析,并对结果进行分析,最终选取合适的装填密度,完成内弹道设计。
关键词:MATLAB;装填密度;内弹道设计;前言内弹道学是研究弹丸在膛内弹丸运动规律及其伴随的一系列射击现象的一门学科,是兵器发射理论与技术的基础理论之一,是兵器火力系统设计者必备的知识。
经典内弹道学是平衡态热力学为基础的,研究膛内弹道参数平均值的变化规律的理论。
内弹道学与武器弹药系统的研究、设计、生产和实验都有密切的联系。
本课设将内弹道学与电子计算机技术相结合,反映了内弹道学的特征,获得了准确的结果。
内弹道学在枪炮设计中有十分重要的地位与作用,不仅是枪炮设计的理论基础,而且可以协调武器弹药系统设计中的矛盾,在总体上实现武器弹药系统良好的弹道性能,通过装药利用系数等弹道参量评价武器弹药系统的弹道性能。
在新能源先发射原理的研究中,内弹道学扮演着导向的角色。
开拓了发展的动力和领域。
内弹道计算,也称内弹道正面问题。
即已知枪炮内膛结构诸元(如药室容积、弹丸行程等)和装填条件(如装药质量、弹丸质量、火药形状和性质)计算膛内ν的内燃气压力变化规律和弹丸运动规律。
根据内弹道基本方程求解出lp~,l~弹道曲线,为武器弹药系统设计及弹道性能分析提供基本数据。
内弹道设计,也称内弹道反面问题。
在已知口径,弹丸质量,初速及指定最大压力的条件下,计算出能满足上述条件的武器内膛构造诸元和装填条件(如装。
弹道设计是多解的,在满足给定条件下可有很多个设计方案。
因此,在设计过程中需对各方案进行比较和选择。
本次课程设计以122mm加农炮装填条件为研究平台,MATLAB、EXCLE为应用ν曲线,以最大膛工具,通过改变装填密度实现不同方案的设计,得出lp~,l~压、初速等弹道参量为评价标准,选取合适的方案。
导弹比例导引Matlab编程

导弹比例导引Matlab 编程一、比例导引比例制导律产生加速度指令,方向垂直于目标线的瞬时方向。
和目标线方向角变化率、导弹和目标接近速度成正比。
可用一下方程表示'C C n NV λ=(1)C n 为控制加速度;'N 是无量纲设计参数,称为有效制导系数,通常取为3-5;C V 为导弹-目标接近速度;λ为目标线方向角变化率。
二、运动方程的建立12为更方便的理解比例制导,我们将运动方程限制在二维剖面内,采用惯性坐标系,忽略地球曲率的影响。
在并且假设导弹和目标为质点,忽略重力作用和空气阻力。
上图中,M V 、T V 分别为导弹和目标的速度; T n 为目标的加速度,方向垂直于目标速度矢量。
λ为目标线与水平参考线的夹角;β为目标速度矢量与水平参考线的夹角。
TM R 为目标-导弹相隔距离。
L 为相撞角,即当导弹速度矢量与目标线夹角为此值时,导弹和目标保持当前速度飞行,将恰好相撞。
HE 为方向误差,表示导弹初始飞行方向与相撞角的偏差。
关于目标线的运动方程:111TM T M R R R =-(2)222TM T M R R R =-(3)TM R =(4) 111TM T M V V V =- (5) 222TM T M V V V =-(6)1122()TM TM TM TM C TM TMR V R V V R R -+=-=(7)关于目标的运动方程: 11T T R V = (8) 22T T R V =(9) 11T T V a = (10) 22T T V a =(11) 1cos T T V V β=-(12) 2sin T T V V β= (13) 1sin T T a n β= (14) 2cos T T a n β=(15)TTn V β=(16)关于导弹的运动方程 11M M R V = (17) 22M M R V = (18) 11M M V a = (19) 22M M V a =(20) 1sin M C a n λ=- (21)2cos M C a n λ=(22)121tan TM TM R R λ-= (23)12212TM TM TM TM TMR V R V R λ-=(24)1sin()sin T MV L V βλ-+=(25)1(0)cos()M M V V L HE λ=++ (26)2(0)sin()M M V V L HE λ=++(27)三、Matlab 仿真对初始航向角偏差-20度、目标存在3g 机动、初始航向角偏差-10度,目标存在1g 机动三种情况进行了仿真,有效制导系数取4和5两种值,以验证比例导引的效果。
内弹道程序

#include"stdio.h"#include"math.h"#include"stdlib.h"#define roup 1600#define w 14.72#define f 950000#define sita 0.2#define alpha 0.001#define u1 1.14*10^-8#define n1 0.8275#define e1 0.000893#define x1 1.06#define lamada -0.0566#define miu 0.0#define m 46#define s 0.01905#define V0 0.020027#define lg 7.3206#define fai 1.12667#define P0 3*10^7#define deda 735#define L0 1.0513#define Vj 1642.38#define B 3.4559#define lgpingjun 6.96double Y[6],Z[4];FILE *fo;int main()//主函数{Y[0]=0,Y[1]=0,Y[2]=0.04296,Y[3]=0,Y[4]=0.0223,Y[5]=0.021,Z[0]=0,Z[1]=0,Z[2]=3*pow(10,7),Z[3]=0; //依次分别给相对时间,相对速度,相对压强,炮弹相对位移,,相对燃烧量//相对燃烧厚度,时间,速度,压强,炮弹位移。
void rk(int n,double h);void result();fo=fopen("output.txt","w");fprintf(fo,"%s"," 相对时间绝对时间炮弹位移速度压强相对燃烧量相对燃烧厚度\n");fprintf(fo," s m m/s pa \n");do{result();rk(6,0.001);}while (Z[3]<lg);//Z[3]表示炮弹位移,截止条件fclose(fo);}//龙格库塔算法void rk(int n,double h){externvoid dery(int n,double dy[],double Y[]);double a[4],old_Y[6],*dy,Y1[6];int i,j;dy =(double*) calloc(n, sizeof(double));a[0]=a[1]=h/2;a[2]=a[3]=h;dery(n,dy,Y);for(i=0;i<n;i++)old_Y[i]=Y[i] ;for(j=0;j<3;j++){for(i=0;i<n;i++){Y1[i]=old_Y[i]+a[j]*dy[i];Y[i]=Y[i]+a[j+1]*dy[i]/3;}dery(n,dy,Y1);}for(i=0;i<n;i++)Y[i]=Y[i]+a[0]*dy[i]/3;free(dy);return;}//右端子式void dery(int n,double dy[],double Y[]){dy[0]=1;if(Y[5]<1 ){dy[4]=x1*(1+2*lamada*Y[5]+3*miu*pow(Y[5],2))*sqrt(sita/(2*B))*pow(Y[2],n1) ;}elseif(Y[5]>=1){dy[4]=0;}if(Y[5]<1){dy[5]=sqrt(sita/(2*B))*pow(Y[2],n1) ;}else{dy[5]=0;}dy[3]=Y[1];dy[1]=sita/2*Y[2];dy[2]=1/(Y[3]+0.541-0.2756*Y[4])*(1+deda*(alpha-1/1600)*Y[2])*dy[4]-(1+sita)/(Y[3]+0.5 41-0.2756*Y[4])*Y[2]*Y[1];Z[0]=L0/Vj*Y[0];Z[1]=Vj*Y[1];Z[2]=f*deda*Y[2];Z[3]=L0*Y[3];return;}//显示结果void result(){staticint i=1;{fprintf(fo,"%13.3f",Y[0]);//相对时间fprintf(fo,"%13.6f",Z[0]);//绝对时间fprintf(fo,"%13.6f",Z[3]);//炮弹位移fprintf(fo,"%13.3f",Z[1]);//速度fprintf(fo,"%20.3f",Z[2]);//压力fprintf(fo,"%13.6f",Y[4]);//相对燃烧量fprintf(fo,"%13.6f",Y[5]);//相对燃烧厚度fprintf(fo,"\n");i++;}return;}。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
内弹道及枪膛合力Matlab程序
clear;
close all;
format long
d=0.0127;
S=0.82*0.0127^2;
V0=2.04e-5;
l_0=V0/S;
lg=0.924;
f=1000000;
alpha=0.001;
w=0.017;
rou=1600;
theta=0.2;
phi=1.45;
chi=0.79825;
lamda=0.1387;
mu=-0.043956;
e1=0.00052/2;
u1=7.5991e-10;
Is=e1/u1;
chi_s=1.2645;
lamda_s=-0.31322;
zk=1.4434;
%Ik=447000;
m=0.048;
p0=30e6;
delta=800;
psi0=(1/delta-1/rou)/(f/p0+alpha-1/rou); sigma0=sqrt(1+4*lamda*psi0/chi);
z0=2*psi0/chi/(sigma0+1);%(sigma0-1)/2/lamda; %====赋予初值====%
v(1)=0;
l(1)=0;
p(1)=p0;
z(1)=z0;
psi(1)=psi0;
lpsi(1)=l_0*(1-delta/rou-(alpha-1/rou)*delta*psi(1));
t(1)=0;
h=0.000001;
for i=1:100000
z1=p(i)/Is;
v1=S*p(i)/m/phi;
l1=v(i);
psi1=(z(i)>=0&z(i)<=1).*(chi+2*chi*z(i)*lamda+3*chi*mu*z(i)^2)*z1 +(z(i)>1&z(i)<zk).*(chi_s*z1+2*chi_s*z1*lamda_s*z(i))+(z(i)>zk).*0;
lpsi1=-l_0*(alpha-1/rou)*delta*psi1;
p1=((f*w/S+p(i)*l_0*delta*(alpha-1/rou))*psi1-theta*phi*m*v1*v(i)/S-p(i )*l1)/(l(i)+lpsi(i));
z2=(p(i)+h*p1/2)/Is;
v2=S*(p(i)+h*p1/2)/m/phi;
l2=v(i)+h*v1/2;
psi2=(z(i)>=0&z(i)<=1).*(chi*z2+2*chi*(z(i)+h*z1/2)*lamda*z2+3*chi*mu*z 2*(z(i)+h*z1/2)^2)+(z(i)>1&z(i)<=zk).*(chi_s*z2+2*chi_s*z2*lamda_s*(z(i )+h*z1/2))+(z(i)>zk).*0;
lpsi2=-l_0*(alpha-1/rou)*delta*psi2;
p2=((f*w/S+(p(i)+h*p1/2)*l_0*delta*(alpha-1/rou))*psi2-theta*phi*m*v2*( v(i)+h*v1/2)/S-(p(i)+h*p1/2)*l2)/((l(i)+h*l1/2)+(lpsi(i)+h*lpsi1/2));
z3=(p(i)+h*p2/2)/Is;
v3=S*(p(i)+h*p2/2)/m/phi;
l3=v(i)+h*v2/2;
psi3=(z(i)>=0&z(i)<=1).*(chi*z3+2*chi*(z(i)+h*z2/2)*lamda*z3+3*chi*mu*z 3*(z(i)+h*z2/2)^2)+(z(i)>1&z(i)<zk).*(chi_s*z3+2*chi_s*z3*lamda_s*(z(i) +h*z2/2))+(z(i)>zk).*0;
lpsi3=-l_0*(alpha-1/rou)*delta*psi3;
p3=((f*w/S+(p(i)+h*p2/2)*l_0*delta*(alpha-1/rou))*psi3-theta*phi*m*v3*( v(i)+h*v2/2)/S-(p(i)+h*p2/2)*l3)/((l(i)+h*l2/2)+(lpsi(i)+h*lpsi2/2));
z4=(p(i)+h*p3)/Is;
l4=v(i)+h*v3;
v4=S*(p(i)+h*p3)/m/phi;
psi4=(z(i)>=0&z(i)<=1).*(chi*z4+2*chi*(z(i)+h*z3)*lamda*z4+3*chi*mu*z4* (z(i)+h*z3)^2)+(z(i)>1&z(i)<zk).*(chi_s*z4+2*chi_s*z4*lamda_s*(z(i)+h*z 3))+(z(i)>=zk).*0;
lpsi4=-l_0*(alpha-1/rou)*delta*psi4;
p4=((f*w/S+(p(i)+h*p3)*l_0*delta*(alpha-1/rou))*psi1-theta*phi*m*v1*v(i )/S-(p(i)+h*p3)*l4)/((l(i)+h*l3)+(lpsi(i)+h*lpsi3));
z(i+1)=z(i)+h*(z1+2*z2+2*z3+z4)/6;
l(i+1)=l(i)+h*(l1+2*l2+2*l3+l4)/6;
v(i+1)=v(i)+h*(v1+2*v2+2*v3+v4)/6;
psi(i+1)=psi(i)+h*(psi1+2*psi2+2*psi3+psi4)/6;
lpsi(i+1)=lpsi(i)+h*(lpsi1+2*lpsi2+2*lpsi3+lpsi4)/6;
p(i+1)=p(i)+h*(p1+2*p2+2*p3+p4)/6;
t(i+1)=t(i)+h;
if l(i)>=lg;
T=i;
break;
end
end
figure(1)
plot(t*10^3,p/1e6,'linewidth',1.5);
hold on
grid on
title('\fontsize{12}\bf(t-p曲线)');
xlabel('\fontsize{12}\bf时间 t 单位:ms');
ylabel('\fontsize{12}\bf膛内压力 p 单位:Mpa');
figure(2)
plot(t*1e3,v,'linewidth',1.5);
grid on
title('\fontsize{12}\bf(v-t曲线)');
xlabel('\fontsize{12}bf时间 t 单位:ms');
ylabel('\fontsize{12}\bf弹丸速度 v 单位:m/s');
figure(3)
plot(l*1e1,v,'linewidth',1.5);
grid on
title('\fontsize{12}\bf(l-v曲线)');
xlabel('\fontsize{12}\bf弹丸行程 l 单位:mm');
ylabel('\fontsize{12}\bf弹丸速度 v 单位:m/s');
figure(4)
plot(l*10,p/1e6,'linewidth',1.5);
grid on
title('\fontsize{12}\bf(l-p曲线)');
xlabel('\fontsize{12}\bf弹丸行程 l 单位:mm');
ylabel('\fontsize{12}\bf膛内压力 p 单位:Mpa');
%弹丸膛内时期膛底合力 F_pt 单位:N
F_pt=1.34*10^(-4)*p;
%后效期膛底合力 F_pt1 单位:N
t1=0.002288:0.000001:0.006537;
F_pt1=12231.10*exp(-(t1-0.002288)/0.00107);
figure(5)
plot(t*10^3,F_pt,t1*10^3,F_pt1,':','linewidth',1.5);
legend('F_pt','F_pt1');
grid on
title('\fontsize{12}\bf(t-F_pt曲线)');
xlabel('\fontsize{12}\bf时间 t 单位:ms');
ylabel('\fontsize{12}\bf膛底合力 F_pt 单位:N');
tspan=length(t)/30;
tspan=1:ceil(tspan):length(t);
tspan(end)=length(t);
fprintf('t(ms) p(Mpa) v(m/s) l(dm) z psi ');
format short g;
Result=[t(tspan)' (p(tspan)/1e6)' v(tspan)' l(tspan)' z(tspan)' psi(tspan)']。