1

在下面的代码中,我计算了 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 以达到相同的结果?

4

0 回答 0