2010-09-30 10 views
6

Ich möchte Pfeile zu einem Diagramm einer Linie in Matlab hinzufügen, um die Strömung zu veranschaulichen. Die Pfeile wären idealerweise auf der Linie, die in Richtung der Linie zeigt. Ist das möglich?Wie fügt man Pfeile zu Liniendiagrammen in Matlab hinzu?

+1

mögliches Duplikat von [Wie zeige ich einen Pfeil an, der in MATLAB in einem bestimmten Winkel positioniert ist?] (Http://stackoverflow.com/questions/1803043/how-do-i-display-an-arrow-positioned-at -a-spezifischer-Winkel-in-Matlab) – gnovice

Antwort

1

Die Quiver-Funktion sollte in der Lage zu tun, was Sie wollen. Allerdings müssen Sie die Richtung des Pfeils selbst berechnen.

Etwas nach dem Vorbild hierfür ist hässlich, aber sollten Sie (möchten, aber Sie wahrscheinlich die Richtungsvektor zu erhalten, ein schöneres Diagramm normalisieren)

plot(x,y) 
hold on 
quiver(x(1:end-1), y(1:end-1), ones(len(x)-1,1), y(2:end) - y(1:end-1)) 
1

Wenn ich das richtig verstanden, Sie versuchen, ein Vektorfeld zu sehen? Wenn das der Fall ist, ist hier ein funktionierendes Beispiel:

%# function: f(x,y)=x^3-2y^2-3x over x=[-2,2], y=[-1,1] 
[X Y] = meshgrid(-2:.1:2, -1:.1:1); 
Z = X.^3 -2*Y.^2 -3*X; 

%# gradient of f 
[dX dY] = gradient(Z, .1, .1); 

%# plot the vector field and contour levels 
figure, hold on 
quiver(X, Y, dX, dY) 
contour(X, Y, Z, 10) 
axis equal, axis([-2 2 -1 1]) 
hold off 

%# plot surface 
figure, surfc(X, Y, Z) 
view(3) 

vector field saddle surface

5

Um einen Pfeil in Matlab zu zeichnen, verwenden Sie die arrow.m

0

Sie genannte freie Paketdatei Austausch kann hinzufügen ein Pfeil zu einer Figur mit der Funktion annotation.

Beachten Sie, dass das übergeordnete Objekt nicht die Achsen, sondern das Figurenfenster iteslf ist (das bedeutet, dass der Pfeil beim Vergrößern/Verkleinern an der gleichen Stelle im Figurenfenster bleibt).

Verwandte Themen