Ich versuche, die Bereiche der verschiedenen zellulären Basisstationen in MATLAB, wie dies zu plotten:Wie kann ich ein solches Diagramm in MATLAB erstellen?
Aber ich kann nicht herausfinden, wie es zu tun.
Ich versuche, die Bereiche der verschiedenen zellulären Basisstationen in MATLAB, wie dies zu plotten:Wie kann ich ein solches Diagramm in MATLAB erstellen?
Aber ich kann nicht herausfinden, wie es zu tun.
Use "image"
Bild (x), colormap (HSV) < -, wobei X eine Matrix aus Zell Intensitäten (x, y)
Zur Klarstellung, ich glaube, 'x' muss eine 2D Matrix von Werten zwischen' 0' und '1' sein. Aber 'doc image',' doc colormap' wissen mehr darüber als ich. –
dann rescale Werte auf 0 bis 255 und tun hsv (255) – jdl
Die betreffende Figur getan mit 'Bilderc'-Funktion (automatische Skalierung) und' Jet' Colormap. – yuk
Sie müssen dann die Koordinaten jeder Station erhalten Erstellen Sie ein Kreis-Polygon um es (mit einem bestimmten Radius) und konvertieren Sie dann dieses Polygon in ein Raster. Dann summieren Sie diese Raster (Matrizen) übereinander. Für die Geschwindigkeit können Sie anstelle von Polygonen auch festlegen, welche Zellen von einer Station abgedeckt werden, wie z. B. alle Zellen in 5 Zeilen oder die Spalten einer Station den Wert erhalten. Sie können auch einen 2D-Gauß-Filter auf Ihre Matrix anwenden, wobei nur die Zellen, die eine Station enthalten, den Wert 1 haben. Die Bandbreite Ihres Gauß-Kerns ist Ihr Abdeckungsradius (Bereich). http://www.mathworks.ch/help/toolbox/images/ref/fspecial.html
Hier ist ein Beispiel, wie Sie ein Diagramm wie dieses erstellen können. Beachten Sie, dass ich Beispieldaten für den Plot erstellt von zufällig die Positionen von zellularen Basisstationen zu erzeugen uniformly distributed pseudorandom numbers mit:
%# 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
Und hier ist die resultierende Handlung:
Beachten Sie auch, dass die Daten in der Bildmatrix cellCoverage
enthält kein Rauschen und hat keine Glättung angewendet, weshalb die Kanten schärfer als das Originalbild in der Post erscheinen (die ich vermute, dass echte Daten erzeugt wird, nicht "gefälschte" Beispieldaten wie ich h verwendet ehe).
Was haben Sie als Eingabe? – yuk