MATLAB計算DEM與NDVI之間的關(guān)系

????最近寫論文的時候,需要做一個DEM數(shù)據(jù)與NDVI之間的空間關(guān)系,在網(wǎng)上也沒有找到相關(guān)的資料,于是就自己寫了一個程序,用來研究他們之間的關(guān)系。
????這個軟件中分析的模型使用的是一元線性回歸模型中的系數(shù)作為相關(guān)系數(shù),每個柵格之間都有一一對應(yīng)的關(guān)系,但是只是兩個柵格之間一一對應(yīng),沒有其他的值,所以沒有辦法用p值來進(jìn)行檢驗,只能是作為一個定性的數(shù)據(jù)來使用,如果是要定量的話,可以私聊我,我把源碼發(fā)給你,下面就是大家心心念念的程序了:
clc
clear
% 設(shè)置圖像處理后導(dǎo)出坐標(biāo)系和圖像行列數(shù)值
[a,R]=geotiffread('G:\畢業(yè)論文材料\裁剪數(shù)據(jù)\年度數(shù)據(jù)\年NDVI值\00-20年平均值.tif');
info=geotiffinfo('G:\畢業(yè)論文材料\裁剪數(shù)據(jù)\年度數(shù)據(jù)\年NDVI值\00-20年平均值.tif');
[m,n]=size(a);
% 導(dǎo)入需要處理的NDVI數(shù)據(jù)
data1=importdata('G:\畢業(yè)論文材料\裁剪數(shù)據(jù)\年度數(shù)據(jù)\年NDVI值\00-20年平均值.tif');
data1=reshape(data1,m*n,1);
NDVIsum=data1;
% 導(dǎo)入需要處理的DEM數(shù)據(jù)
data2=importdata('G:\畢業(yè)論文材料\裁剪數(shù)據(jù)\DEM裁剪數(shù)據(jù)\DEM裁剪數(shù)據(jù).tif');
data2=reshape(data2,m*n,1);
DEMsum=data2;
% 相關(guān)性
NDVI_wc_xgx=zeros(m,n);
NDVIsum=double(NDVIsum);
DEMsum=double(DEMsum);
DEMsum=[ones(size(DEMsum)) DEMsum];
for i=1:length(DEMsum)
? ?b=regress(NDVIsum(i),DEMsum(i));
? ?if b<=0
? ?b=NaN;
? ?end
? ?NDVI_wc_xgx(i)=b;
end
%輸出語句
name1='G:\DEM與NDVI相關(guān)關(guān)系.tif';
geotiffwrite(name1,NDVI_wc_xgx,R,'GeoKeyDirectoryTag',info.GeoTIFFTags.GeoKeyDirectoryTag)


????結(jié)合兩張影像可以看出,在總體上可以定性說明NDVI與DEM數(shù)據(jù)的相關(guān)關(guān)系,缺點是不能使用F檢驗或者T檢驗等方法進(jìn)行驗證。如果想要使用檢驗的話,計算時間太長 ,如果有需要我會掛在評論區(qū)供大家使用。如果對大家有用的話記得一鍵三聯(lián)支持一下。