在下面的代码中,我计算了 xy 坐标的笛卡尔网格的旋转速度作为半径 (V_r) 的函数,将 xy 坐标转换为极坐标 r。
然后我通过取 arctan(y/x) 来计算极坐标 phi,然后使用 cos(phi) * V_r = V_y 计算 y 中的 V_r 分量:
res = 100
x = np.linspace(-1.2,1.2,res)
y = np.linspace(-1.2,1.2,res)
r = np.sqrt(x**2 + y**2)
phi = np.arctan2(y, x)
cosphi = abs(np.cos(phi))
# Velocity Const.
V0 = 200.
# Constants for scaling r
rpe = 0.164
alpha = 0.002
V_r = V0 * (1 - np.exp(-r/rpe)) * (1 + (alpha * r / rpe))
V_los = V_r * abs(np.cos(phi))
plt.figure()
plt.plot(r, V_los)
无需实际创建数组 x 和 y,将其转换为 r 和 phi。我知道我可以简单地输入极坐标。
然而,我正在努力实现相同的结果,即在 phi = 0(即 cos(phi)=1)时 V_r = V_y,或在 cos(phi) = 0 时 V_y = 0。
如何输入数组 r 和 phi 以达到相同的结果?