c20l2.m

来自「这是本战略战术导弹制导的书中的matlab程序,比书中的 forchan程序简单」· M 代码 · 共 66 行

M
66
字号
n=0;
XNP=3.;
TAU=1.;
TF=10.;
DISP=200.;
T=0.;
S=0.;
TP=T+.00001;
X1=0;
X2=0;
X3=1;
X4=0;
H=.01;
while TP<=(TF-1e-5)
   X1OLD=X1;
	X2OLD=X2;
	X3OLD=X3;
	X4OLD=X4;
	STEP=1;
	FLAG=0;
      while STEP<=1
         if FLAG==1
            STEP=2;	
            X1=X1+H*X1D;
            X2=X2+H*X2D;
            X3=X3+H*X3D;
            X4=X4+H*X4D;
            TP=TP+H;
         end
         X1D=X2;
         X2D=X3;
         Y1=(X4-X2)/TAU;
         TGO=TP+.00001;
         X3D=XNP*Y1/TGO;
         X4D=-Y1;
         FLAG=1;
      end
      FLAG=0;
      X1=(X1OLD+X1)/2+.5*H*X1D;
      X2=(X2OLD+X2)/2+.5*H*X2D;
      X3=(X3OLD+X3)/2+.5*H*X3D;
      X4=(X4OLD+X4)/2+.5*H*X4D;
      S=S+H;
      if S>=.0999
         S=0.;
         n=n+1;
         ArrayTP(n)=TP;
         ArrayXMY(n)=DISP*X3;
         X=TGO/TAU;
         THEORY=DISP*exp(-X)*(1.-2.*X+.5*X*X);
         ArrayTHEORY(n)=THEORY;
      end
   end
   figure
   plot(ArrayTP,ArrayXMY,ArrayTP,ArrayTHEORY),grid
   xlabel('Flight Time (Sec)')
   ylabel('Target Displacement Miss (Ft)')
   clc
   output=[ArrayTP',ArrayXMY',ArrayTHEORY'];
   save datfil.txt output  -ascii
   disp 'simulation finished'


   
   

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?