# 工具函数:统计有义波高
为了避免每次计算都要重写一遍,做个备份
function Hs = Cal_Hs(Eta)
%CAL_HS 计算有义波高
N=length(Eta);
Pset=UpCrossZeroPoints(Eta);
N_P=length(Pset);
H=[];
for k=1:1:N_P-1
eta_tmp=Eta(Pset(k):Pset(k+1));
H=[H;max(eta_tmp)-min(eta_tmp)];
end
%降序排序
H=sort(H,'descend');
%最大三分之一平均值
Num=floor(length(H)/3);
Hs=mean(H(1:Num));
function Pset=UpCrossZeroPoints(Eta)
%计算上跨零点
Pset=[];
for i=1:1:N-1
if(Eta(i)<=0&&Eta(i+1)>=0)
Pset=[Pset;i];
end
end
end
end