没有合适的资源?快使用搜索试试~ 我知道了~
Mann-Kendall检验Matlab程序代码.doc
需积分: 43 32 下载量 32 浏览量
2020-02-28
21:18:02
上传
评论 2
收藏 32KB DOC 举报
温馨提示
试读
3页
Mann-Kendall检验Matlab程序代码,Mann-Kendall检验Matlab程序代码,Mann-Kendall检验Matlab程序代码,Mann-Kendall检验Matlab程序代码
资源推荐
资源详情
资源评论
excelFile=''% 文件路径
A=xlsread(excelFile)
x=A(:,1);%时间序列
y=A(:,2);%径流数据列
N=length(y);
n=length(y);
% 正序列计算---------------------------------
% 定义累计量序列 Sk,长度=y,初始值=0
Sk=zeros(size(y));
% 定义统计量 UFk,长度=y,初始值=0
UFk=zeros(size(y));
% 定义 Sk 序列元素 s
s = 0;
% i 从 2 开始,因为根据统计量 UFk 公式,i=1 时,Sk(1)、E(1)、Var(1)均为 0
% 此时 UFk 无意义,因此公式中,令 UFk(1)=0
for i=2:n
for j=1:i
if y(i)>y(j)
s=s+1;
else
s=s+0;
end;
end;
Sk(i)=s;
E=i*(i-1)/4; % Sk(i)的均值
Var=i*(i-1)*(2*i+5)/72; % Sk(i)的方差
UFk(i)=(Sk(i)-E)/sqrt(Var);
end;
% ------------------------------正序列计算 end
% 逆序列计算---------------------------------
% 构造逆序列 y2,长度=y,初始值=0
y2=zeros(size(y));
% 定义逆序累计量序列 Sk2,长度=y,初始值=0
Sk2=zeros(size(y));
% 定义逆序统计量 UBk,长度=y,初始值=0
UBk=zeros(size(y));
% s 归 0
s=0;
% 按时间序列逆转样本 y
% 也可以使用 y2=flipud(y);或者 y2=flipdim(y,1);
for i=1:n
资源评论
weixin_42934766
- 粉丝: 1
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功