Matlab --- wie man mit Matlab einen dreidimensionalen Vektor im dreidimensionalen Koordinatensystem zeichnet

Zeichnen von 3D-Vektoren mit MATLAB

        Als ich vor zwei Tagen einen Artikel über die Gram-Schmidt-Orthogonalisierung schrieb, dachte ich, es wäre am besten, Matlab zu verwenden, um die ursprünglichen Vektoren, die nicht orthogonalisiert wurden, mit der orthogonalen Basis zu kombinieren, die in dreidimensionalen Koordinaten orthogonalisiert wurde System wird es durch ein Bild dargestellt. Auf diese Weise können Sie die „Rechtwinkligkeit“ zwischen Vektoren und Vektoren intuitiver erkennen, anstatt das Innenprodukt zwischen Vektoren zu berechnen, um zu beweisen, dass sie „orthogonal“ sind.

        Tatsächlich hatte ich schon oft das Bedürfnis, in einem dreidimensionalen Koordinatensystem zu zeichnen, aber ich habe nie ein sehr geeignetes gefunden. Zeichnen Sie beispielsweise einen Punkt in einem 3D-Koordinatensystem usw. Dieses Mal habe ich beim Zeichnen eines dreidimensionalen Vektors versehentlich eine Funktion quiver3 () gefunden, die das Problem des Zeichnens eines oder mehrerer dreidimensionaler Vektoren in einem dreidimensionalen Koordinatensystem lösen kann.

1. Zuerst verwenden wir die Funktion quiver3, um einen Vektor v=[1, 2, 8] zu zeichnen

Definieren Sie zunächst den Koordinatenursprung des Vektors als [0,0,0]

X=[0];
Y=[0];
Z=[0];

Definieren Sie einen dreidimensionalen Vektor

U=[1];
V=[2];
W=[8];

Zeichnung

figure;
quiver3(X,Y,Z,U,V,W,0,'LineWidth',1)

Unter diesen gibt der Parameter „0“ nach „W“ die Skalierung der Länge des Vektors im Bild an (er kann nur eine positive ganze Zahl sein, z. B. 2, was bedeutet, dass die Länge des Vektors im Bild doppelt so groß ist). die Länge des tatsächlichen Vektors), was in der obigen Syntax der Maßstab ist. Wenn Sie den Skalierungsparameter nicht eingeben und beispielsweise quiver3(X,Y,Z,U,V,W) direkt verwenden, skaliert Matlab im Allgemeinen automatisch die Länge des Vektors entsprechend, um das Bild zu verschönern. Um den Vektor, den wir in das Bild eingeben, „im Verhältnis eins zu eins“ zu zeichnen, sollten wir daher den Skalierungsparameter deaktivieren. Die Möglichkeit, ihn auszuschalten, besteht darin, Skalierung = 0, also aus, zu setzen. (Standard ist automatisch)

„LineWidth“ gibt die Breite der Linie im Bild an. Im Allgemeinen ist es nicht erforderlich, sie festzulegen. Ich habe hier 1 geschrieben, um die Lesbarkeit zu erleichtern. Der Standardwert kann 0,5 oder 0,7 sein. Jedenfalls ist sie nicht so dick als 1.

Schließlich wird das folgende Bild erhalten. Um den Effekt von Scale = 0 zu zeigen, zeige ich das Bild auch mit dem Standardwert Scale = Auto.

Projektion des Vektors [1, 2, 8] auf die xy-Ebene

 Projektion des Vektors [1, 2, 8] auf die xz-Ebene

        Wie aus dem obigen Vergleichsdiagramm ersichtlich ist, ist die Skala = 0, d. h. die automatische Skalierung ist deaktiviert (rechte Seite des obigen Diagramms). Die Länge des Vektors in jeder x-, y- und z-Richtung stimmt mit unserer tatsächlichen Eingabe überein, aber wenn es sich um eine automatische Skalierung handelt (linke Seite des Bildes oben), können Sie sehen, dass die Länge des Vektors reduziert wird um einen bestimmten Prozentsatz im Vergleich zum Bild rechts.

Dies ist die Beschreibung und teilweise Darstellung des Parameters „Scale“ in der offiziellen Matlab-Dokumentation:

Geben Sie abschließend ein:

axis equal

        Er sorgt dafür, dass jede Koordinatenachse zum Zeichnen einen einheitlichen Standardmaßstab verwendet. Das heißt, wenn Matlab Quiver3 zum Zeichnen von Vektorgrafiken verwendet, werden die Koordinatenachsen standardmäßig auch in unterschiedlichen Graden skaliert, sodass in diesem Beispiel im Vektor [1 , 2, 8] scheint es in der Abbildung so zu sein, dass die Längen der Pfeile in den drei Richtungen x, y und z nahezu gleich sind. Die Skalen in z-Richtung sind 0, 2, 4, 6, 8 (rot), die Skalen in der x-Achse sind 0, 0,2, 0,4, 0,6, 0,8, 1 (gelb) und die Skalen in y -Achse sind 0, 0,5, 1, 1,5, 2 (blau).

 Nach der Eingabe ist die Achse gleich, da der Vektor auf jeder x-, y- und z-Achse den Standardmaßstab derselben Größe verwendet, da die Richtung des Vektors [1, 2, 8] ebenfalls sehr genau ist, wie in der Abbildung gezeigt Abbildung unten.

2. Wir verwenden die Funktion quiver3, um 2 Vektoren v1=[1,1,1], v2=[1,3,5] zu zeichnen

        Definieren Sie in ähnlicher Weise zunächst den Koordinatenursprung [0,0,0] der beiden Vektoren, wobei das erste Element in X, Y und Z die Startkoordinate des ersten Vektors v1 darstellt und das zweite Element das erste ist Der Start Koordinaten der beiden Vektoren v2.

X=[0,0];
Y=[0,0];
Z=[0,0];

        Geben Sie zweitens zwei Vektoren v1 und v2 ein. In ähnlicher Weise werden die drei Werte in v1 im ersten Element von U, V bzw. W gespeichert und die drei Werte in v2 werden in U, V und W platziert das zweite Element.

U=[1,1];
V=[1,3];
W=[1,5];

Zeichnung 

figure;
quiver3(X,Y,Z,U,V,W,0,'LineWidth',1)
legend('v1,v2','Location','northwest')

        Unter anderem wird die Funktion legend() verwendet, um dem Bild erklärenden Text hinzuzufügen. Wenn Sie zwei Vektoren im Diagramm unterscheiden und unterschiedliche Farben verwenden möchten, um sie darzustellen, müssen Sie sie einzeln zeichnen, wie zuvor beim Zeichnen eines einzelnen Vektors.

X=[0];
Y=[0];
Z=[0];
U=[1];
V=[1];
W=[1];

quiver3(X,Y,Z,U,V,W,0,'LineWidth',1)
axis equal
hold on

U=[1];
V=[3];
W=[5];
quiver3(X,Y,Z,U,V,W,0,'LineWidth',1)
axis equal
legend('v1','v2','Location','northwest')

Die Farbe der beiden Vektoren kann auch separat über den Parameter color angegeben werden, „r“ ist rot und „k“ ist schwarz:

X=[0];
Y=[0];
Z=[0];
U=[1];
V=[1];
W=[1];

quiver3(X,Y,Z,U,V,W,0,'LineWidth',1,'Color','r')
axis equal
hold on

U=[1];
V=[3];
W=[5];
quiver3(X,Y,Z,U,V,W,0,'LineWidth',1,'Color','k')
axis equal
legend('v1','v2','Location','northwest')

Wenn Sie andere benutzerdefinierte Farben verwenden möchten, beachten Sie bitte die folgenden Anweisungen:

3. Zeichnen Sie mit quiver3 mehrere Vektorsätze und stellen Sie sie mit verschiedenen Farben dar

%plot b
X=[0];
Y=[0];
Z=[0];
U=[1];
V=[3];
W=[5];
quiver3(X,Y,Z,U,V,W,0,'LineWidth',1)
axis equal

%plot x,y,z
X=[0,0,0];
Y=[0,0,0];
Z=[0,0,0];
U=[1,0,0];
V=[0,1,0];
W=[0,0,1];
quiver3(X,Y,Z,U,V,W,0,'LineWidth',1)
axis equal

%plot projection of b
X=[0];
Y=[0];
Z=[0];
U=[1];
V=[3];
W=[0];
quiver3(X,Y,Z,U,V,W,0,'LineWidth',1)
axis equal

legend('vector b','x,y,z','projection','Location','northwest')

Wie in der Abbildung gezeigt, habe ich drei Vektorsätze im selben Bild gezeichnet:

1, der Vektor b,

2, der Einheitsvektor auf der xyz-Achse

3. Die Projektion des Vektors b auf die xy-Ebene. 


(voller Text)

Autor --- Panasonic J27

Referenzen (Danke):

1. Dreidimensionales Pfeildiagramm oder Vektordiagramm – MATLAB quiver3 – MathWorks India

(Das nebenstehende Bild hat nichts mit diesem Artikel zu tun)

Urheberrechtshinweis: Einige Bilder, Texte oder andere Materialien in diesem Artikel stammen möglicherweise von vielen verschiedenen Websites und Beschreibungen, daher kann ich sie hier nicht auflisten. Wenn es einen Verstoß gibt, teilen Sie mir dies bitte mit und löschen Sie ihn sofort. Jeder ist herzlich zum Nachdruck willkommen, aber wenn jemand meinen Artikel zitiert oder kopiert, müssen Sie in Ihrem Artikel angeben, dass die von Ihnen verwendeten Bilder oder Texte aus meinem Artikel stammen, andernfalls wird der Verstoß untersucht. ----Panasonic J27

Acho que você gosta

Origin blog.csdn.net/daduzimama/article/details/130812421
Recomendado
Clasificación