Quiver

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Mathek
User
Beiträge: 9
Registriert: Dienstag 17. August 2010, 14:58

Hi, wie mache ich das die quiver funktion von Matplotlib, alle Pfeile gleich lang macht?

LG

Mathek
BlackJack

@Mathek: Na `U` und `V` so wählen, dass die Länge bei allen Pfeilen gleich lang ist.

Wenn `U` und `V` schon gegeben sind, könnte man sie als komplexe Zahlen auffassen und die einzelnen Werte durch ihren Betrag teilen.

Code: Alles auswählen

In [187]: U = np.random.randint(1, 10, (5, 5))

In [188]: V = np.random.randint(1, 10, (5, 5))

In [189]: a = U + V * 1j

In [190]: b = a / abs(a)

In [191]: pylab.quiver(b.real, b.imag)
Out[191]: <matplotlib.quiver.Quiver object at 0x9a87c6c>

In [192]: pylab.show()
Benutzeravatar
gkuhl
User
Beiträge: 600
Registriert: Dienstag 25. November 2008, 18:03
Wohnort: Hong Kong

Letztendlich geht es darum dem Vektor [U, V] zu normieren. Folgendes ist da vielleicht etwas intuitiver:

Code: Alles auswählen

In [20]: u = U / np.sqrt(U**2 + V**2)

In [21]: v = V / np.sqrt(U**2 + V**2)
Grüße
Gerrit
Mathek
User
Beiträge: 9
Registriert: Dienstag 17. August 2010, 14:58

Vielen Dank.
Hat super geklappt. Ohne euch wäre ich bestimmt nie draf gekommen.

LG
Mathek
Antworten