我有一个python函数,它根据纬度和一年中的某一天来计算日长(来源:https://gist.github.com/anttilipp/ed3ab35258c7636d87de6499475301ce)。你知道吗
def daylength(dayOfYear, lat):
latInRad = np.deg2rad(lat)
declinationOfEarth = 23.45*np.sin(np.deg2rad(360.0*(283.0+dayOfYear)/365.0))
if -np.tan(latInRad) * np.tan(np.deg2rad(declinationOfEarth)) <= -1.0:
return 24.0
elif -np.tan(latInRad) * np.tan(np.deg2rad(declinationOfEarth)) >= 1.0:
return 0.0
else:
hourAngle = np.rad2deg(np.arccos(-np.tan(latInRad) * np.tan(np.deg2rad(declinationOfEarth))))
return 2.0*hourAngle/15.0
其中dayOfYear : int
和lat : float
我如何调整它,以便lat
使用我的数组latarray
中的值来创建相同的.shape(883,1368)
的新数组?你知道吗
一份清单怎么样?那么你就不需要改变你的功能了:
您可以在数组中使用向量化函数,它将在数组中的每个元素中应用您的函数。请参见下面的演示:
引用:https://docs.scipy.org/doc/numpy/reference/generated/numpy.vectorize.html
相关问题 更多 >
编程相关推荐