【发布时间】:2021-07-27 00:06:18
【问题描述】:
我创建了一个函数,它返回浮点类型的正角和负角。我想要做的是在函数内部创建一个“if”语句,我将能够在每个负值上添加 360 度,而正值将保持原样。实际上,该函数将返回一个数组,其中我们将添加 360 的所有负值。
还要记住,“za”变量是来自另一个函数的数组输入。我会给你一部分代码作为参考,以及执行 azimuth_zenith(za, lat, dec) 函数后的结果:
NPTSRC = 60
lat=-30.7215
dec = np.linspace(0, 90, NPTSRC)
# Azimuth calculation as a function of zenith angle
def azimuth_zenith(za, lat, dec):
return np.arccos(np.sin(dec) - np.sin(za)*np.sin(lat))/(np.cos(za)*np.cos(lat))*180/np.pi
<ipython-input-33-7f401ef5875d>:3: RuntimeWarning: invalid value encountered in arccos
return np.arccos(np.sin(dec) - np.sin(za)*np.sin(lat))/(np.cos(za)*np.cos(lat))*180/np.pi
array([ 145.85139281, nan, 157.21910259, nan,
163.433071 , nan, 516.81605872, nan,
-138.24088045, 349.94353713, -332.53694854, nan,
nan, nan, nan, nan,
nan, 44.93813245, -74.67242873, 230.00752261,
175.72954699, nan, nan, nan,
nan, 437.90927583, nan, -1208.3420051 ,
nan, 86.67738103, nan, -156.84769435,
nan, -504.64406287, nan, 295.70813096,
nan, 152.11497124, nan, -124.51901853,
nan, 130.40918907, -117.47838581, 60.8683529 ,
nan, -217.09978828, nan, 117.3825354 ,
nan, nan, nan, nan,
nan, nan, -235.95740481, nan,
186.56132365, nan, -100.13272745, nan])
【问题讨论】:
标签: python function numpy loops if-statement