matlab中NDVI趋势分析,基于matlab 的长时间栅格数据的sen趋势分析

基于matlab 的长时间栅格数据的sen趋势分析

sen趋势分析是进行趋势分析的方法之一,常配合MK检验来使用,在学术论文中也非常常见,本文主要介绍如果通过matlab来实现对长时间序列的栅格数据进行趋势分析,并对结果进行输出,得到sen的趋势栅格图。代码如下

% @author yinlichang3064@163.com

[a,R]=geotiffread('D:\qixiang\年全国8kmPET\china2015pet.tif');%先导入投影信息

info=geotiffinfo('D:\qixiang\年全国8kmPET\china2015pet.tif');

[m,n]=size(a);

cd=2015-1982+1;%时间跨度,根据需要自行修改

datasum=zeros(m*n,cd)+NaN;

k=1;

for year=1982:2015 %起始年份

filename=['D:\qixiang\年全国8kmPET\china',int2str(year),'pet.tif'];

data=importdata(filename);

data=reshape(data,m*n,1);

datasum(:,k)=data;

k=k+1;

end

result=zeros(m,n)+NaN;

for i=1:size(datasum,1)

data=datasum(i,:);

if min(data)>0 %判断是否是有效值,我这里的有效值必须大于0

valuesum=[];

for k1=2:cd

for k2=1:(k1-1)

cz=data(k1)-data(k2);

jl=k1-k2;

value=cz./jl;

valuesum=[valuesum;value];

end

end

value=median(valuesum);

result(i)=value;

end

end

filename=['D:\zhang\基于sen的pet变化趋势.tif'];

geotiffwrite(filename,result,R,'GeoKeyDirectoryTag',info.GeoTIFFTags.GeoKeyDirectoryTag)

通过上述代码实现了1982-2015年中国PET数据的sen分析,关于对结果的解读请自行参考文献。

更多需求,请查看个人介绍

  • 4
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值