liupeng23的个人博客分享 http://blog.sciencenet.cn/u/liupeng23

博文

[转载]利用MATLAB计算水文极值

已有 2067 次阅读 2019-1-18 17:31 |系统分类:科研笔记|文章来源:转载

代码原网站:https://blog.csdn.net/u010314322/article/details/80328655


利用MATLAB计算水文极值(年最大值,年连续5日最大,连续干/湿日,连续极端径流低值日数)


[filename,filepath]=uigetfile('*.*','请选择文件');

%计算水文极端,年最大,年连续5日最大,连续干日,连续极端径流低值日数

%wqianghy@163.com

%南京大学流域水文过程模拟实验室


datapath=strcat(filepath,filename);

data=dlmread(datapath);

data(1)=[];

datalength=length(data);

numyear=datalength/365;


AM1X=zeros(numyear,1);      %求年最大值

for i=1:numyear

    tmin=365*(i-1)+1;

    tmax=365*i;

    AM1X(i)=max(data(tmin:tmax));

end


AM5X=zeros(numyear,1);     %求连续5日最大

data5x=zeros(datalength,1);

for i=1:datalength

    if i<5

        data5x(i)=mean(data(1:5));

    else

        tmi=i-5+1;

        tmx=i;

        data5x(i)=mean(data(tmi:tmx));

    end

end

for i=1:numyear

    tmin=365*(i-1)+1;

    tmax=365*i;

    AM5X(i)=max(data5x(tmin:tmax));

end


CDD=zeros(numyear,1);     %求连续干日

datacdd=zeros(datalength,1);

for i=1:datalength

    if data(i)<=1         %判断是否为干日

       datacdd(i)=1;

    end

end

for i=1:numyear

    tmin=365*(i-1)+1;

    tmax=365*i;

    cdnum1=[];

    lfind=find(datacdd(tmin:tmax)==0);

    for j=1:length(lfind)-1

        cdnum1(j)=lfind(j+1)-lfind(j)-1;

    end

    cdnum1(length(lfind))=365-lfind(length(lfind));

    CDD(i)=max(cdnum1);

end


sortdata=sort(data);      %连续极端低值日数

per10=sortdata(round(datalength*0.1));

CDS=zeros(numyear,1);     %求连续干日

datacds=zeros(datalength,1);

for i=1:datalength

    if data(i)<per10      %判断是否为低值

       datacds(i)=1;

    end

end

for i=1:numyear

    tmin=365*(i-1)+1;

    tmax=365*i;

    cdsnum1=[];

    lfind=find(datacds(tmin:tmax)==0);

    for j=1:length(lfind)-1

        cdsnum1(j)=lfind(j+1)-lfind(j)-1;

    end

    cdsnum1(length(lfind))=365-lfind(length(lfind));

    CDS(i)=max(cdsnum1);

end





https://blog.sciencenet.cn/blog-3306552-1157810.html

上一篇:[转载]张凌博士个人网站
下一篇:[转载]水文工具集
收藏 IP: 1.185.10.*| 热度|

1 陈昌春

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-20 06:23

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部