资源简介
编写了纯比例导引和扩展的带约束的比例导引规律,有利于初学者以及在比例导引律上进行各种改进。
代码片段和文件信息
%二维平面的比例导引律的设计%
%2015-11-25%
%
clc;
clear;
xm(1) = 0;
ym(1) = 150;
xt(1) = 800;
yt(1) = 0;
vt = 0;
vm(1) = 180;
fpa(1) = atan((yt(1) - ym(1))/(xt(1) - xm(1)));%视线角
thetam(1) = 0*pi/180;
thetat = 10*pi/180;
N = 4;
g = 9.8;
dt = 0.01;%仿真步长
k = 2;
r =sqrt ((xm(1)-xt(1))^2+(ym(1) - yt(1))^2);
t(1) = 0;
a(1) = 0;
thetamf = -30*pi/180;
fpaf = atan((vm(1)*sin(thetamf))/(vm(1)*cos(thetamf)-vt(1)));
tgo(1) = r/vm(1);
epsilon(1) = (vm*(thetamf - thetam(1))-N*vm(1)*(fpaf-fpa(1)))/tgo(1);
ny(1) = 0;
while(r >0)
if(r<(vt+vm)*dt)
fprintf(‘不够一步步长了‘)
break;
end
xm(k) = xm(k-1)+vm(k-1)*cos(thetam(k-1))*dt;
ym(k) = ym(k-1)+vm(k-1)*sin(thetam(k-1))*dt;
xt(k) = xt(k-1)+vt*cos(thetat)*dt;
yt(k) = yt(k-1)+vt*sin(thetat)*dt;
fpa(k) = atan((yt(k)-ym(k))/(xt(k)-xm(k)));
r = sqrt((xm(k)-xt(k))^2+(ym(k)-yt(k))^2);
tgo(k-1) = r/vm(k-1);
epsilon(k-1) = (vm(k-1)*(thetamf - thetam(k-1))-N*vm(k-1)*(fpaf - fpa(k-1)))/tgo(k-1);
dpfa = fpa(k)-fpa(k-1);
dthetam = N*dpfa+epsilon(k-1)/vm(k-1);
thetam(k) = thetam(k-1)+dthetam;
t(k) = t(k-1)+dt;
a(k) = vm(k-1)*(dthetam);
% vm(k) = vm(k-1)+a(k);
vm(k) = vm(k-1);
ny(k) = a(k)/g-cos(thetam(k));
k = k+1;
%需要知道导弹的加速度指令的值;
end
%关闭导引律,沿原方向继续运动;
figure(1)
plot(xmym‘r-‘)
hold on
plot(xtyt‘b-‘)
title(‘飞行轨迹‘)
figure(2)
plot(ta)
title(‘加速度随时间的变化‘)
figure(3)
plot(tvm)
title(‘速度随时间的变化‘)
figure(4)
plot(tthetam*180/pi)
title(‘弹道倾角随时间的变化‘)
figure(5)
plot(tny)
title(‘法向过载‘);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1661 2015-12-17 15:20 BPNG.m
- 上一篇:SAP 各模块后台表关系
- 下一篇:线程并发拷贝程序和实验报告
评论
共有 条评论