你想做的事
考虑根据与原点的距离 $r$ 和 $xy$ 平面上的角度 $heta$ 绘制数据 $P(r, heta)$。例如,雷达获取的信号包含有关目标范围 $r$ 和方位角 $heta$ 的信息。就是下图。

在本文中,$heta$ 是从 $x$ 轴测量的角度。

显示示例
考虑创建依赖于 $r, heta$ 的虚拟数据 $P(r, heta)$ 并将其绘制在 $xy$ 平面上。
虚拟数据
生成虚拟数据 $P(r, heta)$ 作为高斯分布与极坐标系中目标位置 $(r_0, heta_0)$ 的乘积。
P(r, heta) = dfrac{1}{sqrt{2pisigma_r^2}} exp{left[-dfrac{(r-r_0)^2}{2sigma_r^2}ight]}cdot dfrac{1}{sqrt{2pisigma_ heta^2}} exp{left[-dfrac{( heta- heta_0)^2}{2sigma_ heta^2}ight]}
$sigma_r^2$, $sigma_heta^2$ 表示距离和角度方差。
变换和绘制
定义距离和角度,并使用 meshgrid 函数将其转换为二维数组。然后,确定目标位置$(r_0, heta_0)$,生成虚拟数据$P(r, heta)$。
% define range and theta
range = linspace(0,2,31); % m
theta = deg2rad(linspace(0,360,91)); % rad
[Range,Theta] = meshgrid(range,theta);
% target position
r0 = 1;
theta0 = deg2rad(75);
% dummy data P
gaussfunc = @(x,mu,sigma) 1/(sqrt(2*pi)*sigma)*exp(-(x-mu).^2/(2*sigma^2));
P = gaussfunc(Range,r0,0.2).*gaussfunc(Theta,theta0,0.2);
接下来,从极坐标系转换为直角坐标系。极坐标$(r, heta)$对应笛卡尔坐标$(x,y)$如下。
left{
egin{align}
x &= rcos{ heta} \
y &= rsin{ heta}
end{align}
ight.
通过将距离和角度的二维数组逐个元素相乘,转换为 $x,y$。此外,作为奖励,提取虚拟数据 $P(r, heta)$ 的最大点的索引。
% convert from circular coordinates to Cartesian coordinates
X = Range.*cos(Theta);
Y = Range.*sin(Theta);
% detect max value and its index
[maxval,maxidx] = max(P,[],'all');
[maxidx_row,maxidx_col] = ind2sub(size(P),maxidx);
在 MATLAB 中,使用 .*
获取元素乘积。
画曲面图用来。
surface(X,Y,Z,C)
X,Y,Z
是网格状的 $x,y,z$ 坐标,C
是确定颜色的数组。X,Y,Z,C
的大小必须相同。
曲面图本质上是一个在 3D 空间中绘制曲面的函数。但是,由于我们要的是$xy$平面上的二维图像,所以即使$z$坐标的所有值都设置为0也没有问题。这时候,从正上方向下看,就变成了二维图像。
FS = 16; % fontsize
MS = 30; % markersize
figure(1);
clf(1);
surface(X,Y,zeros(size(X)),P,'EdgeColor','none'); % surface plot
hold on;
plot3(X(maxidx),Y(maxidx),0,'.r','MarkerSize',MS); % plot max point
xlabel('x (m)');
ylabel('y (m)');
cb = colorbar;
cb.Label.String = 'Data value';
daspect([1,1,1]); % Set the axes data aspect ratio
set(gca,'fontsize',FS);
下图是$r_0 = 1hspace{1mm}mathrm{m}, heta_0 = 75^circ$时得到的图像。红点表示最大点的位置。

最大点的位置似乎稍微偏离的原因是由于表面函数的规范。 Surface函数以顶点为单位绘制每个数据,而不是以面为单位,因此略有偏差。网格越细,偏差越小。
执行环境
MATLAB R2022a
使用的工具箱:无
原创声明:本文系作者授权爱码网发表,未经许可,不得转载;
原文地址:https://www.likecs.com/show-308632742.html