Daniel趋势分析在matlab上的实现

原理与计算步骤

数据集

    某县1965-2013年年际气温数据,对其各时期进行Daniel趋势分析。

matlab代码

clc;clear;
data=[18.484 	18.664 	18.280 	18.498 	17.995 	18.117 	18.154 	18.388 	18.619 	18.243 	18.401 	17.742 	18.236 	18.377 	18.322 	18.326 	18.319 	18.251 	18.345 	17.531 	17.849 	18.075 	18.724 	17.890 	18.140 	18.583 	18.490 	18.034 	18.110 	18.608 	18.055 	17.962 	18.439 	19.400 	18.700 	18.465 	18.689 	18.999 	18.756 	18.296 	18.672 	19.049 	18.974 	18.796 	19.526 	19.257 	18.678 	19.008 	19.358 
];
Y={};B=[];c=[];
Y{1,1}=data;
Y{1,2}=data(:,1:5);
Y{1,3}=data(:,6:15);
Y{1,4}=data(:,16:25);
Y{1,5}=data(:,26:35);
Y{1,6}=data(:,36:49);
[c,N]=size(Y);
for j=1:N
    y1=Y{1,j};
    y2=Y{1,j};
    [r,n]=size(y1);
    for i=1:n
       for j1=i+1:n
           if y2(1,i) > y2(1,j1) 
            t=y2(1,i);y2(1,i) = y2(1,j1);y2(1,j1)=t;
           end
       end
    end
    k=0;
    for i=1:n
        for j1=1:n
            if y1(1,i)==y2(1,j1)
                k=k+1;
                c(1,k)=j1;
                break
            end
        end
    end
    s=0;
    for i=1:n
       s=s+(c(1,i)-i)^2;
    end
    B(j,1)=1 - (6 * s / (n ^ 3 - n));
end
disp('各时期秩相关系数为:')
disp(B)

运行结果

 

年份

Rs

趋势

Wp

显著性

1965-2013

0.550

上升

0.238

显著

1965-1969

-0.500

下降

0.900

不显著

1970-1979

0.127

上升

0.564

不显著

1980-1989

-0.297

下降

0.564

不显著

1990-1999

0.285

上升

0.564

不显著

2000-2013

0.591

上升

0.464

显著

如果对你有帮助,请点下赞,予人玫瑰手有余香!

时时仰望天空,理想就会离现实越来越近!

  • 18
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值