MATLAB Polardiagramm

Ammar Ali 15 Februar 2024
  1. MATLAB-Polardiagramm
  2. 3D-Polardiagramm in MATLAB
MATLAB Polardiagramm

In diesem Tutorial wird das Erstellen eines Polardiagramms mit der Funktion polarplot() in MATLAB erläutert.

MATLAB-Polardiagramm

Ein Polardiagramm wird auf einem Polarkoordinatensystem erstellt, das ein zweidimensionales Koordinatensystem ist, das die Entfernung des Punktes vom Ursprung und seinen Winkel zur x-Achse anzeigt.

Wir können die Funktion polarplot() von Matlab verwenden, um ein Polardiagramm zu erstellen. Die grundlegende Syntax der Funktion polarplot() ist unten.

polarplot(My_theta,My_rho)

Die obige Syntax erstellt ein Polardiagramm gemäß dem Winkel My_theta jedes Punkts und seiner Entfernung vom Ursprung, der in der Variablen My_rho gespeichert ist. Wenn die beiden Eingaben Vektoren sind, sollten sie die gleiche Länge haben.

Wenn beide Eingaben Matrizen sind, sollten sie die gleiche Größe haben, und in diesem Fall wird jede Spalte der ersten Matrix gegen jede Spalte der zweiten Matrix aufgetragen. Wenn eine Eingabe ein Vektor und die andere Eingabe eine Matrix ist, sollte die Länge des Vektors gleich der Länge der in der Matrix vorhandenen Spalten oder Zeilen sein, und jede Spalte der Matrix wird gegen den Vektor aufgetragen.

Wenn eine einzelne Eingabe der Funktion polarplot() eine Matrix ist, zeichnet die Funktion mehr als eine Linie auf dem Polardiagramm mit unterschiedlichen Farben. Lassen Sie uns zum Beispiel zwei Vektoren auf den Polarkoordinaten mit der Funktion polarplot() darstellen.

Siehe Code unten.

clc
clear

My_theta = 0:0.01:2*pi;
My_rho = sin(2*My_theta).*cos(2*My_theta);
polarplot(My_theta,My_rho)

Ausgabe:

Polarplot von Vektoren

Im obigen Code haben wir zwei Vektoren verwendet, und wir können in der Ausgabe sehen, dass das Diagramm den Winkel und die Entfernung der Punkte vom Ursprung zeigt. Mit der Funktion polarplot() können wir auch mehrere Datenlinien auf einem einzigen Diagramm darstellen.

Wir müssen Daten für jede Zeile als Spalte in den Matrizen übergeben, und die Funktion polarplot() zeichnet die erste Spalte der ersten Matrix mit der ersten Spalte der zweiten Matrix und so weiter. Wir können einen Vektor für diese Dimension verwenden, wenn wir denselben Wert für eine Dimension verwenden möchten, z. B. für Abstand oder Winkel.

Lassen Sie uns zum Beispiel mehrere Linien auf demselben Polardiagramm zeichnen, indem wir einen Vektor und eine Matrix verwenden. Siehe Code unten.

clc
clear

My_theta = 0:0.01:2*pi;
My_rho1 = sin(2*My_theta).*cos(2*My_theta);
My_rho2 = cos(2*My_theta).*cos(2*My_theta);
My_rho = [My_rho1; My_rho2];
polarplot(My_theta,My_rho)
legend('data1','data2')

Ausgabe:

Polardiagramm eines Vektors und einer Matrix

Im obigen Code haben wir zwei Vektoren für den Radius erstellt, sie dann in einer Matrix als zwei Zeilen gespeichert, und die Funktion polarplot() hat die beiden Zeilen gegen denselben Winkelvektor gezeichnet. Wir haben die Funktion legend() verwendet, um dem Diagramm Legenden entsprechend den Daten hinzuzufügen.

Wir können in der Ausgabe sehen, dass es im Polarplot zwei Linien mit unterschiedlichen Farben gibt, weil die Funktion polarplot() jedem Datensatz eine andere Farbe gibt, so dass es leicht ist, zwischen ihnen zu unterscheiden. Standardmäßig ist der Winkel in Grad angegeben, aber wir können ihn mit der Funktion deg2rad() von Matlab auch in Bogenmaß umwandeln.

Wir können auch ein Polardiagramm erstellen, indem wir nur einen einzigen Vektor verwenden, der den Radius der Punkte vom Ursprung definiert, indem wir die Funktion polarplot() verwenden. Die Funktion zeichnet die Radiuspunkte in gleichen Intervallen gegen den Winkel aus dem Intervall 0 bis 2pi auf.

Wir können auch die Spezifikationen der Linie wie Linienstil, Markierung und Farbe festlegen. Wir können alle drei Argumente innerhalb einer einzigen Zeichenfolge übergeben und sie innerhalb der Funktion polarplot() übergeben, um die Linienspezifikationen zu ändern.

Wir können den Linienstil auf eine durchgezogene Linie mit dem Zeichen -, eine gestrichelte Linie mit dem Zeichen --, eine gepunktete Linie mit dem Zeichen : und eine strichpunktierte Linie mit dem Zeichen - einstellen. Charakter. Die Markierung wird über den Datenpunkten platziert, und wir können sie mit Symbolen wie o für Kreis, * für Sternchen, d für Raute, p für das Pentagramm, h für das setzen Hexagramm und so weiter.

Wir können die Farbe der Linie mithilfe des Farbnamens oder des Anfangsbuchstabens der Farbe festlegen, z. B. r für Rot, g für Grün usw. Lassen Sie uns beispielsweise die Linienspezifikationen eines Polardiagramms mit einer einzelnen Zeichenfolge ändern.

Siehe Code unten.

clc
clear

My_theta = 0:0.1:2*pi;
My_rho = cos(2*My_theta).*cos(2*My_theta);
polarplot(My_theta,My_rho,':*g')

Ausgabe:

sich ändernde Linienspezifikationen

Im obigen Code haben wir die Zeichenfolge :*g verwendet, um die Linienspezifikationen zu ändern, in denen das erste Zeichen den Linienstil auf gepunktet setzt, das zweite Zeichen die Markierung auf Sternchen setzt und das dritte Zeichen die Linienfarbe auf grün setzt .

Beachten Sie, dass, wenn wir mehr als einen Datensatz im Diagramm gezeichnet haben, die Linienspezifikationen die Spezifikationen aller im Diagramm vorhandenen Linien ändern und es möglicherweise schwierig wird, zwischen den Datensätzen oder Linien zu unterscheiden.

Wir können die Eigenschaften des Diagramms auch mit dem Name-Wert-Paar ändern, in dem wir den Namen der Eigenschaft als Zeichenfolge übergeben müssen, und dann müssen wir ihren Wert übergeben, um diese Eigenschaft zu ändern. Wir können die Eigenschaften von Color, LineStyle, LineWidth, Marker, MarkerSize und MarkerFaceColor ändern.

Die Eigenschaft Color legt die Farbe der Linie fest, und wir können einen RGB-Triplettwert, einen hexadezimalen Farbcode, den Namen der Farbe oder den ersten Buchstaben des Farbnamens übergeben. Die Eigenschaft LineStyle legt den Stil der Linie fest, und die verfügbaren Linienstile werden oben besprochen.

Die Eigenschaft LineWidth legt die Breite der Linie fest, und standardmäßig ist ihr Wert auf 0.5 eingestellt, aber wir können sie auch auf eine beliebige positive Zahl setzen. Die Eigenschaft Marker legt den verwendeten Marker über den Datenpunkten fest, und standardmäßig ist sein Wert auf none gesetzt, aber wir können ihn mit den oben beschriebenen Markersymbolen festlegen.

Die Eigenschaft MarkerSize wird verwendet, um die Größe der Markierung festzulegen, und standardmäßig ist ihr Wert auf 6 eingestellt, den wir in jeden positiven Wert ändern können. Die Eigenschaft MarkerFaceColor legt die Füllfarbe der Markierung fest, oder mit anderen Worten, sie füllt die Markierungen, die im Plot verwendet werden, und standardmäßig ist ihr Wert auf none gesetzt, aber wir können sie mit ihrem RGB-Triplett auf jede beliebige Farbe einstellen Wert, Hexadezimalcode oder Farbname.

Lassen Sie uns beispielsweise die oben genannten Eigenschaften ändern. Siehe Code unten.

clc
clear

My_theta = 0:0.1:2*pi;
My_rho = cos(2*My_theta).*cos(2*My_theta);
polarplot(My_theta,My_rho,'Color','red','LineStyle',':','Marker','o','LineWidth',2,'MarkerSize',10,'MarkerFaceColor','green')

Ausgabe:

Grundstückseigenschaften ändern

Wir können dem Diagramm auch benutzerdefinierte Achsen hinzufügen, indem wir sie als erstes Argument in der Funktion polarplot() hinzufügen. Wir können auch die Eigenschaften der Achsen wie die Farbe der Radiuslinie und des Textes, die Beschriftung der Achsenstriche usw. festlegen.

Wir müssen die aktuellen Achsen mit dem Befehl gca abrufen, und dann können wir diese Achsen verwenden, um die Eigenschaften der Achsen zu ändern. Wir müssen nach dem Achsenobjekt einen Punkt hinzufügen, dann den Eigenschaftsnamen hinzufügen und dann können wir den Eigenschaftswert nach einem Gleichheitszeichen setzen.

Lassen Sie uns beispielsweise die Farbe der Radiuslinie in einem Polardiagramm ändern. Siehe Code unten.

clc
clear

My_theta = 0:0.1:2*pi;
My_rho = cos(2*My_theta).*cos(2*My_theta);
polarplot(My_theta,My_rho)
x = gca;
x.RColor = 'red';

Ausgabe:

Achseneigenschaften ändern

Überprüfen Sie diesen Link für weitere Details über die Eigenschaften der Polarachsen.

3D-Polardiagramm in MATLAB

Wenn wir ein Polardiagramm in einer 3D-Ebene erstellen möchten, müssen wir die Polarkoordinaten in kartesische Koordinaten ändern, da Polarkoordinaten nur zwei Dimensionen haben und wir drei Dimensionen benötigen, um ein 3D-Diagramm zu erstellen.

Wir können die Funktion pol2cart() verwenden, um die Polarkoordinaten in kartesische Koordinaten umzuwandeln, und dann die Funktion surf() verwenden, um ein Oberflächendiagramm auf einer 3D-Ebene zu erstellen. Der Algorithmus, der zum Konvertieren von Polarkoordinaten in kartesische Koordinaten verwendet wird, ist im folgenden Bild dargestellt.

Polar 2 kartesisch

Konvertieren wir zum Beispiel die Polarkoordinaten eines Polardiagramms in kartesische und erstellen ein 3D-Diagramm mit der Funktion surf(). Siehe Code unten.

clc
clear

My_theta = 0:0.1:2*pi;
My_rho = sin(My_theta);
t = meshgrid(linspace(0,2*pi,63));
[x,y,z] = pol2cart(My_theta, My_rho, t);
surf(x,y,z)

Ausgabe:

Oberflächendiagramm

Im obigen Code haben wir drei Eingaben in der Funktion pol2cart() verwendet. Die erste Eingabe ist der Vektor der Winkel, die zweite ist der Vektor der Entfernung der Punkte vom Ursprung und die dritte Matrix ist das Gitter, auf dem wir das 3D-Diagramm erstellen möchten.

Das obige Diagramm bezieht sich nicht auf ein Polardiagramm, da wir die Winkel- und Radiusdimensionen im obigen Diagramm nicht haben.

In einem Polardiagramm können wir den Winkel und den Radius eines Punktes in Bezug auf den Ursprung sehen, aber im obigen Diagramm ist dies nicht möglich. Es besteht keine Notwendigkeit, ein 3D-Polardiagramm zu erstellen, wenn wir nur Informationen über Winkel und Radius eines Punktes erhalten möchten; Wir können die Funktion polarplot() für ein 2D-Polardiagramm verwenden.

Unter diesem Link finden Sie weitere Einzelheiten über die Funktion polarplot(). Unter link finden Sie weitere Einzelheiten über die Funktion surf(), die zur Erstellung von 3D-Diagrammen verwendet wird.

Autor: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

Verwandter Artikel - MATLAB Plot