让我先说:我不知道这对 Data Science StackExchange 有多合适。但我还不能发表评论,我想我可以提供答案,所以就这样吧。
将值放入公式中。数量是:
- g0:标准重力(9.81 m/s2);
- ΔZ : 一定距离内位势高度的变化;
- Δn的距离;和ΔZ
- f:科里奥利参数,测量转速
- ϕ : 选择的纬度。
您编写了将科里奥利参数与纬度和 s联系起来的方程式。我们先计算这部分。我假设a)您可以将numpy与matplotlib一起使用,并且b)您被要求将地转风绘制为纬度的函数。将其输入 Python 的一种方法是编写:fΩ=7.29×10−5−1
> import numpy as np
> phi = np.arange(10, 91)
> Omega = 7.29e-5
> coriolis = 2 * Omega * np.sin(phi * np.pi/180)
第二行为您提供了一个 numpy 纬度数组,以度为单位,从 10N 到 90N。我忽略了热带,因为;那里的地转风没有很好的定义。的 numpy 数组。请注意, np.sin 的参数应该以弧度为单位,而不是度数。f=0f
这样做之后,其余的值就很容易输入了。对于运算顺序,请确保分子中的所有内容都分组在一起,并且分母相同。你得到:
> grav, dz, dn = 9.81, 60.0, 2.0e5
> VGeo = (grav * dz) / (coriolis * dn)
第一行使用一系列值来设置重力 ( )、dz 和 dn。第二行为定义了一个 numpy 数组,其中分子和分母分组。g0Vg
绘制结果。我不知道您对 matplotlib 的工作原理有多熟悉。如果这没有意义,请告诉我,我可以扩展它。许多纬度变化的图在 y 轴上都有纬度,因为这是地球仪和地图的方向。因此,当您绘制值的图时,应该是而应该是。使用 pyplot 的带有一些标签的工作示例可能是:(x,y)yϕxVg
> import matplotlib.pyplot as plt
> fig, ax = plt.subplots()
> ax.set_ylim(0,90)
> ax.set_xlim(0,125)
> ax.plot(VGeo, phi, linestyle='-', color='k')
> ax.set_ylabel('Latitude $\phi$')
> ax.set_xlabel('Wind $V_g$')
> ax.set_title('Geostrophic wind $V_g = \frac{g_0 \Delta z}{f \Delta n}$')
> fig.savefig('test.png', format='png')
我在这里做几件事。第二行使用 plt.subplots() 创建一个图形和轴;没有任何参数,这将返回一个轴。接下来,我设置 x 和 y 限制,以便我们看到所有数据,并且 y 轴从赤道开始(即使我们没有绘制 10N 以南的值,我认为它看起来更好) . 然后我只是用黑色实线接下来的三行涉及使用 TeX 格式创建标签。最后一行是将图形保存到本地 PNG 文件。(x,y)=(Vg,ϕ)
让我知道它是如何工作的!