如何在MATLAB中创建这样的绘图?

如何在MATLAB中创建这样的绘图?,matlab,plot,matlab-figure,Matlab,Plot,Matlab Figure,我试图在MATLAB中绘制不同蜂窝基站的范围,如下所示: 但是我不知道怎么做。使用“图像” 图像(x)、彩色地图(hsv)使用“图像” 图像(x),彩色地图(hsv)您需要获得每个站点的坐标,然后在其周围创建一个圆形多边形(具有给定半径),然后将该多边形转换为网格。然后将这些网格(矩阵)相加。对于速度,您还可以定义桩号将覆盖哪些单元,而不是使用多边形,就像桩号5行或5列内的所有单元都可以获得该值一样。 也可以对矩阵应用二维高斯滤波器,其中只有包含桩号的单元的值为1。高斯核的带宽将是覆盖半径(范

我试图在MATLAB中绘制不同蜂窝基站的范围,如下所示:

但是我不知道怎么做。

使用“图像”

图像(x)、彩色地图(hsv)使用“图像”


图像(x),彩色地图(hsv)您需要获得每个站点的坐标,然后在其周围创建一个圆形多边形(具有给定半径),然后将该多边形转换为网格。然后将这些网格(矩阵)相加。对于速度,您还可以定义桩号将覆盖哪些单元,而不是使用多边形,就像桩号5行或5列内的所有单元都可以获得该值一样。
也可以对矩阵应用二维高斯滤波器,其中只有包含桩号的单元的值为1。高斯核的带宽将是覆盖半径(范围)

您需要获得每个桩号的坐标,然后在其周围创建一个圆形多边形(具有给定半径),然后将该多边形转换为网格。然后将这些网格(矩阵)相加。对于速度,您还可以定义桩号将覆盖哪些单元,而不是使用多边形,就像桩号5行或5列内的所有单元都可以获得该值一样。
也可以对矩阵应用二维高斯滤波器,其中只有包含桩号的单元的值为1。高斯核的带宽将是覆盖半径(范围)

下面是一个如何创建这样的绘图的示例。请注意,我通过使用以下方法随机生成蜂窝基站的位置,为绘图创建了样本数据:

%#初始化:
最小范围=0;%#较低的x和y范围
最大范围=3.5;%#上x和y范围
分辨率=1000;%#x轴和y轴上的数据点数量
cellRange=linspace(最小范围、最大范围、分辨率);
[x,y]=meshgrid(cellRange);%创建x和y坐标的栅格
蜂窝覆盖率=零(大小(x));%#将图像矩阵初始化为零
%#创建示例图像数据:
数量=200;
细胞半径=0.75;
对于iBase=1:numBases
点=兰德(1,2)。*(最大范围-最小范围)+最小范围;

index=((x点(1))。^2+(y点(2))。^2)下面是一个示例,说明如何创建这样的绘图。请注意,我通过使用以下方法随机生成蜂窝基站的位置,为绘图创建了样本数据:

%#初始化:
最小范围=0;%#较低的x和y范围
最大范围=3.5;%#上x和y范围
分辨率=1000;%#x轴和y轴上的数据点数量
cellRange=linspace(最小范围、最大范围、分辨率);
[x,y]=meshgrid(cellRange);%创建x和y坐标的栅格
蜂窝覆盖率=零(大小(x));%#将图像矩阵初始化为零
%#创建示例图像数据:
数量=200;
细胞半径=0.75;
对于iBase=1:numBases
点=兰德(1,2)。*(最大范围-最小范围)+最小范围;

索引=((x点(1))。^2+(y点(2))。^2)为了澄清,我认为
x
必须是
0
1
之间的二维值矩阵。但是
doc image
doc colormap
比我更了解这一点。然后将值重新缩放到0到255,并使用
imagesc
功能(自动缩放)和
jet
colormap对相关图形进行hsv(255),我认为
x
必须是
0
1
之间的二维值矩阵。但是
doc image
doc colormap
比我更了解这一点。然后将值重新缩放到0到255,并使用
imagesc
功能(自动缩放)和
jet
colormap进行hsv(255)处理。
%# Initializations:
minRange = 0;       %# Lower x and y range
maxRange = 3.5;     %# Upper x and y range
resolution = 1000;  %# The number of data points on the x and y axes
cellRange = linspace(minRange, maxRange, resolution);
[x, y] = meshgrid(cellRange);   %# Create grids of x and y coordinates
cellCoverage = zeros(size(x));  %# Initialize the image matrix to zero

%# Create the sample image data:
numBases = 200;
cellRadius = 0.75;
for iBase = 1:numBases
    point = rand(1,2).*(maxRange - minRange) + minRange;
    index = ((x - point(1)).^2 + (y - point(2)).^2) <= cellRadius^2;
    cellCoverage(index) = cellCoverage(index) + 1;
end

%# Create the plot:
imagesc(cellRange, cellRange, cellCoverage);  %# Scaled plot of image data
axis equal;  %# Make tick marks on each axis equal
set(gca, 'XLim', [minRange maxRange], ...  %# Set the x axis limit
         'YLim', [minRange maxRange], ...  %# Set the y axis limit
         'YDir', 'normal');                %# Flip the y axis direction
xlabel('X-distance (km)');  %# Add an x axis label
ylabel('Y-distance (km)');  %# Add a y axis label
colormap(jet);              %# Set the colormap
colorbar;                   %# Display the color bar