我试图在MATLAB中绘制不同蜂窝基站的范围,如下所示:
但我无法弄明白该怎么做。
答案 0 :(得分:5)
以下是如何创建这样的情节的示例。请注意,我使用uniformly distributed pseudorandom numbers
随机生成蜂窝基站的位置,为绘图创建了样本数据%# 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
这是由此产生的情节:
另请注意,图像矩阵cellCoverage
中的数据不包含噪声并且没有应用平滑,这就是为什么边缘比帖子中的原始图像更清晰(我猜是从< em>真正的数据,而不是我在这里使用的“虚假”样本数据。
答案 1 :(得分:0)
使用“image”
image(x),colormap(hsv)&lt; - 其中x是细胞强度矩阵(x,y)
答案 2 :(得分:0)
您需要获取每个工作站的坐标,然后围绕它创建一个圆形多边形(具有给定的半径),然后将此多边形转换为网格。然后,您将这些网格(矩阵)相互叠加。对于速度,您可以定义哪些单元将被一个工作站覆盖,而不是使用多边形,就像5行中的所有单元或工作站的列都获得该值一样。 您还可以将2D高斯滤波器应用于矩阵,其中只有包含工作站的单元格的值为1.高斯核心的带宽将是您的覆盖半径(范围)。 http://www.mathworks.ch/help/toolbox/images/ref/fspecial.html