%三维制导模型,比例导引法求解 %源代码作者不详,注释人:ly logn %Modified by ly logn,2012 年4 月17 日 clear all; close all; clc dt=0
1;%仿真时间步长 alpha=pi/6;v _t=0
42;s_t=v _t*dt;%目标以0
42 的速度沿alpha 的角方向匀速飞行,s_t 为目标在单位仿真步长前进的距离 v _m=0
60;s_m=v _m*dt;%s_m 为导弹在单位仿真步长沿目前速度方向前进的距离 x (1)=0;y (1)=1
0;z (1)=0; pmr(:,1)=[x (1);y (1);z (1)]; %导弹初始位置,在坐标原点 ptr(:,1)=[25;5;7]; %目标初始位置 K=3; %比例导引系数 q(1)=0; %初始的视线角,设定参考线为t 和m 初始位置的连线 o(1)=0; %初始导弹速度向量方向角 a(1)=0; %初始导弹相对目标的运动速度向量的方向角 for(k=2:600) ptr(:,k)=[ptr(1,1)-v _t*cos(alpha)*dt*k;ptr(2,1);ptr(3,1)+v _t*sin(alpha)*k*dt]; %目标运行轨迹方程,匀速直线运动 r(k-1)=sqrt((ptr(1,k-1)-pmr(1,k-1))^2+(ptr(2,k-1)-pmr(2,k-1))^2+(ptr(3,k-1)-pmr(3,k-1))^2);%k-1 时刻导弹与目标在三维空间中的欧氏距离 c=sqrt((ptr(1,k)-pmr(1,k-1))^2+(ptr(2,k)-pmr(2,k-1))^2+(ptr(3,k)-pmr(3,k-1))^2); %目标k 时刻位置与导弹k-1 时刻位置间的距离 b=acos((r(k-1)^2+s_t^2-c^2)/