我正在尝试使用 python 绘制椭圆轨道。使用公式 r=a(1-e^2)/(1+ecos(theta))。需要绘制的数据点是:
- a 的值:0.39、0.72、1.00、1.52
- e 的值:0.205、0.007、0.017、0.093
- theta 值(度):77.5、132、103、336
到目前为止,这是我的代码:
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()
我似乎得到的错误是 NameError: name 'r' is not defined。由于我返回了该函数,我不明白为什么没有定义它。