首页 > > 详细

辅导R编程、R辅导留学生、辅导R程序、R解析

%The program is mainly used for the analysis of the baseflow before calibrate the SWAT model
%Provider Shujiang Pang and Xianyong Meng
%Capital Normal University(CNU) China Institute of Water Resources and Hydropower Research (IWHR)
%Contact Email:
clc
clear all
close all %
runoff=xlsread('runoff.xls','Sheet1','B2:B366');%()
beta=0.925; %
date1=size(runoff);
date=date1(1,1); %
%%%%%%%%%%%%%%%%%%%%%%%%
%,
data5=zeros(fix(date/5),5);
fori=1:fix(date/5)
runoff=runoff(1:5*fix(date/5),:);
runoff5(i,:)=runoff(i*5-4:i*5,:)';
%
fori=1:fix(date/5)
runoff5_min(i,:)=min(runoff5(i,:));
%
fori=1:fix(date/5)
weizhi=find(runoff5(i,:)==min(runoff5(i,:)));
weizhi_min(i,:)=weizhi(1,1);
%
fori=1:fix(date/5)
weizhi_min_position(i,1)=weizhi_min(i,:)+5*(i-1);
%
k=0.9;
guaidian_shiji=zeros(fix(date/5),1);
fori=2:fix(date/5)-1
if min(runoff5_min(i-1,:),runoff5_min(i+1,:))>=runoff5_min(i,:)*k
guaidian_shiji(i,:)=1;
weizhi=[weizhi_min_position,guaidian_shiji];
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
weizhi1=find(weizhi(:,2)==1);
weizhi2=weizhi(:,1);
weizhi22=weizhi2(weizhi1);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
data22=runoff(weizhi22);
data1=runoff(1,1);
dataend=runoff(date);
data22=[data1;data22;dataend];
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
weizhi22=[1;weizhi22;date];
%
date1=1:date;
runoff_chazhi=interp1(weizhi22,data22,date1');
data=runoff;
fori=1:date
ifrunoff_chazhi(i,:)>=runoff(i,:)
runoff_chazhi(i,:)=runoff(i,:);
elseif 0>=runoff_chazhi(i,:)
runoff_chazhi(i,:)=0;
else
runoff_chazhi(i,:)=runoff_chazhi(i,:);
end
%%%%
figure
runoff4=zeros(date,1);
fori=2:date
runoff4(i,1)=beta*runoff4(i-1,1)+0.5*(1+beta)*(runoff_chazhi(i,1)-runoff_chazhi(i-1,1));
if runoff4(i,:)0
runoff4(i,:)=runoff4(i,:);
elseif runoff4(i,:)>=runoff_chazhi(i,:)
runoff4(i,:)=runoff_chazhi(i,:);
else
runoff4(i,:)=0;
end
fori=1:date
if runoff4(i,:)0
runoff4(i,:)=runoff4(i,:);
elseif runoff4(i,:)>=runoff_chazhi(i,:)
runoff4(i,:)=runoff_chazhi(i,:);
else
runoff4(i,:)=0;
end
baseflow=runoff_chazhi-runoff4;
%
BFI=sum(baseflow4)/sum(runoff)%
%
plot(1:date,baseflow4,'r-','linewidth',1.5);grid on
hold on
%
plot(1:date,runoff,'linewidth',1.5);grid on
hold on
%
plot(1:date,runoff_chazhi,'k-','linewidth',1.5);grid on
legend('','','');
xlabel('') ;
ylabel('/');
figure
plot(1:date,baseflow4,'r-','linewidth',1.5);grid on%
hold on
plot(1:date,runoff,'k-','linewidth',1.5);
grid on
xlabel('') ;
ylabel('/');
 

联系我们
  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-21:00
  • 微信:codinghelp
热点标签

联系我们 - QQ: 99515681 微信:codinghelp
程序辅导网!