天天看點

matlab中NDVI趨勢分析,基于matlab 的長時間栅格資料的sen趨勢分析

基于matlab 的長時間栅格資料的sen趨勢分析

sen趨勢分析是進行趨勢分析的方法之一,常配合MK檢驗來使用,在學術論文中也非常常見,本文主要介紹如果通過matlab來實作對長時間序列的栅格資料進行趨勢分析,并對結果進行輸出,得到sen的趨勢栅格圖。代碼如下

% @author [email protected]

[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分析,關于對結果的解讀請自行參考文獻。

更多需求,請檢視個人介紹

上一篇: Bitset 2051
下一篇: hdu2051 bitset