在下面的代码中,我计算了旋转速度作为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以获得相同的结果?