Hi, wie mache ich das die quiver funktion von Matplotlib, alle Pfeile gleich lang macht?
LG
Mathek
Quiver
@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.
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()
Letztendlich geht es darum dem Vektor [U, V] zu normieren. Folgendes ist da vielleicht etwas intuitiver:
Grüße
Gerrit
Code: Alles auswählen
In [20]: u = U / np.sqrt(U**2 + V**2)
In [21]: v = V / np.sqrt(U**2 + V**2)
Gerrit