📄 moniximian.m
字号:
%%==================================================================
%%函数名:moniximian
%%作者:武自刚
%%日期:2008-1-18
%%功能:模拟西面目标运动建立情况,给出目标的一些具体参数m,x1,y1,x2,y2,q1,q2,pp,结果可以得到来袭目标的具体三维空间当中的坐标。其中导弹在坐标为(-8000,3100,2000)到坐标为(-7970,3080,1990)速度为
%(300;-200;-100),采样频率为10次/秒,两个采样点间的时间间隔是0.1秒。
%%输入参数:m(系统参数),x1(像点1横坐标),y1(像点1纵坐标),x2(像点1横坐标),y2(像点1纵坐标),q1(像点1像元素),q2(像点2像元素),pp(实际物体尺寸)
%%返回值: 俯仰角、方位角、径向距离
%%修改记录:
%%==================================================================
function f=moniximian(m,x1,x2,y1,y2,q1,q2,pp)
close all
clear all
m=100 %输入系统参数即一米处的放大倍数
x1=20./8000. %输入像点1处的x的坐标
y1=-31./8000. %输入像点1处的y的坐标
x2=1990./797000. %输入像点2处的x的坐标
y2=-3080./797000. %输入像点2处的y的坐标
q1=3.0*2.54*sqrt(5./14.)/(800000^2) %输入像点1处的像点面积大小
q2=3.0*2.54*sqrt(5./14.)/(797000^2) %输入像点2处的像点面积大小
pp=3*2.54 %输入实际来袭目标的大小
fuyangjiao=0; %描述实际物体所处的俯仰角
fangweijiao=0; %描述实际物体所处的方位角
j1=0; %中间过渡变量用来描述两像点之间的连线与ccd纵坐标的夹角
j2=0; %中间过渡变量用来描述来袭物体(导弹)与透镜面之间的夹角
LL=0; %描述物体到透镜的实际垂直距离
jj=0; %描述物体到透镜的实际径向距离
fuyangjiao=asin(x1*m/(sqrt((m*y2)^2+(m*x2)^2+1))); %俯仰角的计算公式
fangweijiao=asin(y2*m/(cos(fuyangjiao)*sqrt((m*y2)^2+(m*x2)^2+1))) ;%方位角的计算公式
j1=abs(atan((x1-x2)/(y1-y2))); %计算两个像点之间连线与坐标轴的夹角
j2=abs(acot((sqrt(q2)*m*abs(x1-x2))/((sqrt(q2)-sqrt(q1))*sin(j1))+m*abs(x2)/sin(j1)));%计算来袭目标与透镜面的夹角
LL=(sqrt(pp)*cos(j2))/(m*sqrt(q2)); %得出来来袭目标到镜头处的垂直距离
jj=LL/(cos(fuyangjiao)*cos(fangweijiao)); %得出来来袭目标到镜头处的径向距离
disp('俯仰角为:')
disp(fuyangjiao*180/pi) %输出俯仰角的大小
disp('方位角角为:')
disp(fangweijiao*180/pi+180) %输出俯仰角的大小
disp('径向距离为:')
disp(jj) %输出径向距离的大小
%%==================================================================
%绘制两幅图一幅显示ccd探测器坐标图,另外一幅显示目标监测器显示图
subplot(1,2,1)
plot([x1,x2]',[y1,y2]','ko');
xlabel('ccd-x轴/米'),ylabel('ccd-y轴/米')
title('ccd探测器坐标图')
hold on;
plot([x1,x2]',[y1,y2]','k-');
subplot(1,2,2)
compass([y1,y2]',[x1,x2]')
title('目标监测器显示图')
%%==================================================================
%叠加上一幅图用于显示三维空间当中的来袭目标运动情况
figure
plot3([0,jj*cos(fuyangjiao)*cos(fangweijiao)]',[0,jj*cos(fuyangjiao)*sin(fangweijiao)]',[0,jj*sin(fuyangjiao)]','k-');
hold on;
plot3([0,jj*cos(fuyangjiao)*cos(fangweijiao)]',[0,jj*cos(fuyangjiao)*sin(fangweijiao)]',[0,jj*sin(fuyangjiao)]','k^');
text(jj*cos(fuyangjiao)*cos(fangweijiao),jj*cos(fuyangjiao)*sin(fangweijiao),jj*sin(fuyangjiao),'目标位置处')
grid
xlabel('x-轴/米'),ylabel('y-轴/米'),zlabel('z-轴/米')
title('以透镜中心为原点的目标空间方位图')
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -