今天写一篇关于matlab绘图的文章,是以前的一个前辈教自己的,当时觉得matlab居然还能这样画图。后面这种方法用多了以后,自己就能举一反三了。
要点就是在画目标轨迹的同时,把目标与雷达的连线也画出来,这样能更好地呈现目标与雷达的相对位置关系。下面是matlab代码:
clc;clear;close all;
%% 参数设置
% 雷达位置
radarLon = 113.3; % 雷达经度(°)
radarLat = 28.1; % 雷达纬度(°)
radarHgt = 1000; % 雷达高度(m)
%% 读取目标轨迹
load 'targetWGS84.txt';
targetLon = targetWGS84(:,2).'; % 目标经度(°)
targetLat = targetWGS84(:,3).'; % 目标纬度(°)
targetHgt = targetWGS84(:,4).'; % 目标高度(m)
%% 绘制目标相对于雷达运动的轨迹
figure
plot3(radarLon, radarLat, radarHgt,'o', 'MarkerFaceColor', 'red', 'MarkerSize', 6);hold on;
for n = 1:size(targetWGS84,1)
plot3(targetLon, targetLat, targetHgt, 'r-*'); % 使用plot3绘制三维图
lonlon = [radarLon, targetLon(n)]; % [雷达经度,目标点经度]
latlat = [radarLat, targetLat(n)]; % [雷达纬度,目标点纬度]
hgthgt = [radarHgt, targetHgt(n)]; % [雷达高度,目标点高度]
plot3(lonl