电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

比例导引法Matlab仿真

比例导引法Matlab仿真_第1页
1/6
比例导引法Matlab仿真_第2页
2/6
比例导引法Matlab仿真_第3页
3/6
%三维制导模型,比例导引法求解 %源代码作者不详,注释人: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)/(2*r(k-1)*s_t)); %%%此处参见公式一%%% dq=acos((r(k-1)^2-s_t^2+c^2)/(2*r(k-1)*c));%k-1 时刻到 k 时刻的视线角变化量(假设导弹不动,目标移动) %%%此处参见图一%%% if abs(imag(b))>0 %如果 acos 的值出现虚数,则说明该角度一定很小,对其进行近似操作 b=0.0000001; end if abs(imag(dq))>0 %同上 dq=0.0000001; end q(k)=q(k-1)+dq; %更新视线角 o(k)=o(k-1)+K*dq; %更新导弹速度向量方向角 a(k)=o(k)-q(k); %更新导弹相对目标的运动速度向量的方向角 c1=r(k-1)*sin(b)/sin(a(k)+b); %计算k-1 时刻角b 所对边的长度 %%%此处参见公式二%%% c2=r(k-1)*sin(a(k))/sin(a(k)+b); %计算k-1 时刻角a(k)所对边的长度 c3=sqrt((c1-s_m)^2+(c2-s_t)^2+2*(c1-s_m)*(c2-s_t)*cos(a(k)+b)); %计算k 时刻导弹m 与目标t 之间的距离(在导弹不动,目标移动的假设条件下),为假值 dq=a(k)-acos(((c1-s_m)^2+c3^2-(c2-s_t)^2)/(2*(c1-s_m)*c3)); %k-1 时刻到k 时刻的视线角变化量(假设导弹移动,目标也移动),以下代码重复以上过程,为假值 %%%此处参见图二%...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

比例导引法Matlab仿真

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部