"""
@File : cal_data.py
@Time : 2022/08/29 17:13:16
@Author : JuYongkang
@Version : 1.0
@Contact : j_juyongkang@163.com
@Desc : 计算风向矢量平均值
"""
import os
from math import sin, cos, atan, pi
def main():
# met_dir = [259, 259, 259, 259, 259, 259, 259, 259, 259, 259]
met_dir = [297, 317, 356, 23, 21, 19, 26, 32, 28, 30]
sinsum = 0
cossum = 0
for i in range(len(met_dir)):
if met_dir[i] == 0:
continue
sinsum += sin(met_dir[i] / 180.00 * pi)
cossum += cos(met_dir[i] / 180.00 * pi)
dir_avg = sinsum / cossum
dir_avg = round(atan(sinsum / cossum) / pi * 180.00, 2)
if sinsum > 0 and cossum > 0:
dir_avg += 0
elif sinsum > 0 and cossum < 0:
dir_avg += 180
elif sinsum < 0 and cossum < 0:
dir_avg += 180
elif sinsum < 0 and cossum > 0:
dir_avg += 360
print('平均风向为{}'.format(dir_avg))
if __name__ == '__main__':
main()
![python 计算风向矢量平均值](/upload/2022/08/wallhaven-rdy561_1920x1080.png)
python 计算风向矢量平均值
Fre_soe
193
2022-08-03