python -- 计算有效波高、平均波高

简介: 通过python计算有效波高,平均波高,平均周期,有效周期

通过python计算有效波高,平均波高,平均周期,有效周期



现有波面数据如下图所示,采用频率为20Hz,需要根据波面数据计算得到平均波高、有效波高等信息。111eecbd0de64e94a9933283285ca4b1.png

python代码如下所示,绘图部分仅展示了概率分布


# -*- coding: utf-8 -*-
"""
Created on %(date)s
@author: %(jixianpu)s
Email : 211311040008@hhu.edu.cn
introduction : keep learning althongh walk slowly
"""
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
path=r'D:/data.xlsx'
data=pd.read_excel(path)
high=data['波面数据(m)']
da=np.array(high)
da=da
a=[]
for i in range(len(da)-1):
    if (da[i]<0)&(da[i+1]>0):
        print(i)
        a.append(i)
wh=[]
tm=[]
for j in range(len(a)-1):
    x=da[a[j]:a[j+1]]
    x_max=np.max(x)
    x_min=np.min(x)
    h=x_max-x_min
    t=a[j+1]-a[j]
    tr=0.05*t
    tm.append(tr)
    wh.append(h)
### mean time \mean wave high            
h_mean=np.mean(wh)
t_mean=np.mean(tm)
### 
h_s=sorted(wh,reverse=True)
hs_3=h_s[0:int(len(h_s)/3)+1]
hs3_mean=np.mean((hs_3))
t_s=sorted(tm,reverse=True)
ts_3=t_s[0:int(len(h_s)/3)+1]
ts3_mean=np.mean(ts_3)
####f
hist, x, y= np.histogram2d(wh,tm,bins=10)
############################################################################
fig=plt.figure(figsize=(10,10))
ax = fig.add_subplot(111)
# ax.plot(da[0:1000])
# plt.axhline(y=0, color='r', linestyle='--')
ax.imshow(hist)
ax.set_xlabel('H(m)',fontsize=20)
ax.set_ylabel('T(s)',fontsize=20)
ax.set_ylim(0,10)
ax.pcolor(hist)
# ax.bar(x,y)
plt.show()


d2bf517f968f4b15a59df4cad50fe840.png


相关文章
|
2月前
|
Python
Python 游泳秒表记次,计算每次游泳时长
Python 游泳秒表记次,计算每次游泳时长
43 2
|
2月前
|
Python
Python计算误码率,输入是0-1比特流矩阵和小数矩阵
本文提供了一个Python函数calculate_ber,用于计算两个NumPy矩阵表示的二进制信号和接收信号之间的误码率(BER),其中包括信号与接收信号的比较、误差计数以及BER的计算过程,并给出了具体的使用示例。
46 2
|
5天前
|
数据挖掘 Python
【Python】应用:pyproj地理计算库应用
这篇博客介绍了 `pyproj` 地理计算库的应用,涵盖地理坐标系统转换与地图投影。通过示例代码展示了如何进行经纬度与UTM坐标的互转,并利用 `pyproj.Geod` 计算两点间的距离及方位角,助力地理数据分析。 安装 `pyproj`:`pip install pyproj`。更多内容欢迎关注本博客,一起学习进步! Pancake 🍰 不迷路。😉*★,°*:.☆( ̄▽ ̄)/$:*.°★* 😏
10 1
|
7天前
|
Python
python方法,传参20220101 计算与当前时间差
python方法,传参20220101 计算与当前时间差
|
2月前
|
人工智能 安全 数据处理
Python中的多核处理计算
【8月更文挑战第7天】多核处理器推动高效能计算,加速数据处理与强化AI应用。Python通过线程、进程及异步编程支持并发,提升程序效率与响应性。线程作为最小运行单元,支持并行执行与共享内存,需注意同步问题;进程则更安全,有独立内存空间,但通信较复杂;协程轻量级且支持非阻塞执行。Python的`threading`模块简化线程管理,而`multiprocessing`模块助力多进程编程,充分挖掘硬件潜能。
35 1
|
2月前
|
Python
【Python】实现MATLAB中计算两个矩形相交面积的rectint函数
Python中实现MATLAB中rectint函数的方法,该函数用于计算两个矩形相交区域的面积,并通过定义Rectangle类和calc_area函数展示了如何计算两个矩形的交集面积。
35 1
|
2月前
|
存储 API 开发工具
【Azure Developer】使用 Python SDK连接Azure Storage Account, 计算Blob大小代码示例
【Azure Developer】使用 Python SDK连接Azure Storage Account, 计算Blob大小代码示例
|
2月前
|
Rust JavaScript Java
简单对比Java、Python、Go、Rust等常见语言计算斐波拉契数的性能
简单对比Java、Python、Go、Rust等常见语言计算斐波拉契数的性能
|
2月前
|
并行计算 大数据 Java
高效数据处理:使用Python实现并行计算的技巧
传统的数据处理方式在面对大数据时可能效率不高,本文探讨如何利用Python中的并行计算技术来提升数据处理速度和效率,重点介绍了多线程和多进程的应用,以及如何选择合适的场景使用这些技术。
|
2月前
|
Python
【Python】计算两个日期相差天数
使用Python计算两个日期相差天数
38 0
下一篇
无影云桌面