Arbeitet man viel mit Sensoren, welche winkelabhängig Entfernungen aufnehmen (Ultraschall, Laserscanner z.B.), so ist eine Darstellung der Daten in Polarkoordinaten sinnvoll. Matlab bietet dazu den Befehl
[matlab]polar(Winkel, Entfernung)[/matlab]
Doch die Standarddarstellung des Diagramms ist nicht so schön. Besser wäre solch eine:
Nachfolgend soll gezeigt werden, wie man mit ein paar Befehlen drumherum das Polarplot passender gestaltet.
Polar Darstellung in Matlab
Das Standard Polar-Plot in Matlab sieht so aus:
Grundsätzlich ist alles vorhanden, doch leider ist der Winkel 0° nach rechts gerichtet. Schöner wäre es, wenn die 0° nach oben zeigen und der nicht benötigte linke Teil (weil in diesem Fall der Scanner keine 360° Auflösung hat) weg geschnitten wird. Dies löst man mit folgendem kleinen Skript:
[matlab]
function [returnvalue]=polarplot(angle,distance)
% Funktion plottet schönes Polardiagramm
% polarplot(Winkel, Strecke)
if length(angle)~=length(distance)
disp(‚Vectors must be the same length‘)
return
end
% Polarplot erstellen
polar(angle,distance)
% Handle für Achse zuweisen
a=axis;
% ersten Wert mit 0 besetzen, übrigen beibehalten
axis([0 a(2) a(3) a(4)])
% drehen
view(-90,90)
[/matlab]
Zum Abschluss noch eine Legende einfügen und in guter Qualität als .PNG abspeichern und fertig.
[matlab]
legend(‚Sensor 1′)
set(gcf,’Position‘,[100 100 1280 720],’Paperpositionmode‘,’auto‘)
print(‚-dpng‘,‘-r300′,’MySuperAwesomePolarPlot.png‘)
close all;
[/matlab]