J'essaie de tracer des orbites elliptiques en utilisant python. En utilisant la formule , r = a (1-e^2)/(1 + ecos (thêta)). Les points de données nécessaires à tracer sont:Tracer des orbites elliptiques
- valeurs d'un: 0,39, 0,72, 1,00, 1,52
- valeurs de e: 0,205, 0,007, 0,017, 0,093
- valeurs de thêta (degrés): 77,5, 132, 103, 336
Voici mon code à ce jour:
import numpy as np
import matplotlib.pyplot as plt
def radius(r,deg,rad):
a=np.array([0.39,0.72,1.00,1.52])
e=np.array([0.205,0.007,0.017,0.093])
deg=np.array([77.5,132,103,336])
rad=(deg*np.pi)/180
r=(a*(1-e**2))/(1+e*np.cos(rad))
return r,deg,rad
plt.polar(rad, r)
plt.show()
L'erreur que je semble obtenir est NameError: nom 'r' est pas défini. Depuis que j'ai renvoyé la fonction je ne comprends pas pourquoi elle n'est pas définie.
où l'utilisation de la fonction de rayon? – eyllanesc
Pourquoi créer une fonction et ne pas l'utiliser ?, Utilisez directement les valeurs: 'a = np.array ([0.39,0.72,1.00,1.52]) e = np.array ([0.205,0.007,0.017, 0,093]) deg = np.array ([77,5,132,103,336]) rad = (deg * np.pi)/180 r = (a * (1-e ** 2))/(1 + e * np .cos (rad)) plt.polar (rad, r) plt.show() ' – eyllanesc
Lors de l'exécution du code précédent, je reçois ce qui suit: https://imgur.com/a/sHT13 – eyllanesc