基于matlab 的長(zhǎng)時(shí)間柵格數(shù)據(jù)的sen趨勢(shì)分析
sen趨勢(shì)分析是進(jìn)行趨勢(shì)分析的方法之一,常配合MK檢驗(yàn)來(lái)使用,在學(xué)術(shù)論文中也非常常見(jiàn),本文主要介紹如果通過(guò)matlab來(lái)實(shí)現(xiàn)對(duì)長(zhǎng)時(shí)間序列的柵格數(shù)據(jù)進(jìn)行趨勢(shì)分析,并對(duì)結(jié)果進(jìn)行輸出,得到sen的趨勢(shì)柵格圖。代碼如下
% @author yinlichang3064@163.com
[a,R]=geotiffread('D:\qixiang\年全國(guó)8kmPET\china2015pet.tif');%先導(dǎo)入投影信息
info=geotiffinfo('D:\qixiang\年全國(guó)8kmPET\china2015pet.tif');
[m,n]=size(a);
cd=2015-1982+1;%時(shí)間跨度,根據(jù)需要自行修改
datasum=zeros(m*n,cd)+NaN;
k=1;
for year=1982:2015 %起始年份
filename=['D:\qixiang\年全國(guó)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變化趨勢(shì).tif'];
geotiffwrite(filename,result,R,'GeoKeyDirectoryTag',info.GeoTIFFTags.GeoKeyDirectoryTag)
通過(guò)上述代碼實(shí)現(xiàn)了1982-2015年中國(guó)PET數(shù)據(jù)的sen分析,關(guān)于對(duì)結(jié)果的解讀請(qǐng)自行參考文獻(xiàn)。
更多需求,請(qǐng)查看個(gè)人介紹