• 大小: 2KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-05-20
  • 语言: Matlab
  • 标签: matlab  mk检验  

资源简介

该matlab代码适用于MK显著性检验。类似于students t test

资源截图

代码片段和文件信息

% Time Series Trend Detection Tests
% [ z sl lcl ucl ] = trend( y dt )
% where z = Mann-Kendall Statistic
% sl = Sen‘s Slope Estimate
% lcl = Lower Confidence Limit of sl
% ucl = Upper Confidence Limit of sl
% y = Time Series of Data
% dt = Time Interval of Data
%y是待检测数据序列
function [ z sl lcl ucl ] = mk( y )
n = length( y );
dt=1;

% Mann-Kendall Test for N > 40
    % disp( ‘Mann-Kendall Test;‘ );
    % if n < 41
    % disp( ‘WARNING - sould be more than 40 points‘ );
    % end;

% calculate statistic
s = 0;
for k = 1:n-1
    for j = k+1:n
        s = s + sign( y(j) - y(k) );
    end;
end;

% variance ( assuming no tied groups )
v = ( n * ( n - 1 ) * ( 2 * n + 5 ) ) / 18;

% test statistic
if s == 0
z = 0;
elseif s > 0
z = ( s - 1 ) / sqrt( v );
else
z = ( s + 1 ) / sqrt( v );
end; 

% should calculate Normal value here
nor = 1.96;
% results
disp( [ ‘ n = ‘ num2str

评论

共有 条评论