Seite 1 von 1

Quiver

Verfasst: Donnerstag 19. August 2010, 15:15
von Mathek
Hi, wie mache ich das die quiver funktion von Matplotlib, alle Pfeile gleich lang macht?

LG

Mathek

Re: Quiver

Verfasst: Donnerstag 19. August 2010, 15:35
von 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()

Re: Quiver

Verfasst: Donnerstag 19. August 2010, 17:24
von gkuhl
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

Re: Quiver

Verfasst: Donnerstag 19. August 2010, 21:35
von Mathek
Vielen Dank.
Hat super geklappt. Ohne euch wäre ich bestimmt nie draf gekommen.

LG
Mathek