r = np.linspace(0.1,1,11)
theta = np.linspace(-alpha,alpha,11)
radius_matrix, theta_matrix = np.meshgrid(r,theta)
u_radial = -q*(1/radius_matrix)*u_sol[0]
u_theta = theta_matrix*[0 for x in range(len(u_sol[0]))]
ax = plt.subplot(111, polar=True)
ax.plot(theta_matrix, radius_matrix, u_radial, u_theta) #color='r',
ls='none', marker='.'
plt.show()
我正在尝试使用numpys颤抖函数绘制速度场(与矢量场相同)的图。速度场被写入
其中q只是一个任意常数,r是到原点的距离。现在,要在极坐标系中绘制该图,我创建了两个网格网格radius_matrix和theta_matrix,如我的代码所示(第三行)。这些网状网格一起形成一个极坐标平面,水平轴上的r和垂直轴上的theta(至少我认为),并且每个点都应具有与上式相对应的矢量箭头。
为此,我定义了u_radial和u_theta,分别是径向和角度方向上的矢量分量。变量u_sol [0]包含11个不同theta的f(theta)(如公式中所示)点,我认为这将提供正确的矢量分量,但事实并非如此。为什么不呢?
我期望这样的事情,当我接近边缘的单个值r时,箭头会缩小。我只想要这个,但是要得到更多的r值。这是我的u_sol [0]向量的数据:
u_sol[0] = [4.68520269e-26 1.54380741e+00 2.74550730e+00 3.60503630e+00
4.12217780e+00 4.29651250e+00 4.12741184e+00 3.61407419e+00
2.75560427e+00 1.55113610e+00 3.84028608e-18]
绘制此图时,情况变得更糟,请参见下图。箭怎么了?为什么突然有颜色?