Non convertire in un sistema di coordinate cartesiano se si desidera semplicemente due array 2D che specificano le coordinate r
e theta
su una griglia polare.
Per chiarire, l'errore che si sta osservando è perché non è possibile eseguire la moltiplicazione di elementi tra due matrici di forma disuguale, che è ciò che si ha.
Si dovrebbe essere chiamata in questo modo:
radius_matrix, theta_matrix = numpy.meshgrid(r,theta)
allora si potrebbe convertire in coordinate cartesiane (se davvero necessario) digitando:
X = radius_matrix * numpy.cos(theta_matrix)
Y = radius_matrix * numpy.sin(theta_matrix)
visualizzazione potrebbe essere fatto su una griglia polare subito , usando eg matplotlib:
import matplotlib.pyplot as plt
ax = plt.subplot(111, polar=True)
ax.plot(theta_matrix, radius_matrix, color='r', ls='none', marker='.')
Date un'occhiata alla polar plot demo se volete un altro esempio.
alternativa, è possibile tracciare la griglia polare che hai fatto tracciando le coordinate cartesiane che abbiamo ottenuto in precedenza su una griglia cartesiana:
plt.plot(X,Y, 'r. ')
plt.show()
fonte
2015-03-08 13:25:27