本文共 1552 字,大约阅读时间需要 5 分钟。
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
老师给了一个代码,需要我套用自己的数据运行,但是我现在看不懂这个代码,麻烦看懂的小哥哥小姐姐帮帮忙!救命救命
代码如下
function dataup = upscale_func(data,nscale,bg,m,n)
% data = ndvis;
% data = fpar_016;
% files = dir('E:\Mine\study\scale_sim3_pro\1.3-landsat_bandcomp_30m_all\*.mat');
% path = 'E:\Mine\study\scale_sim3_pro\1.3-landsat_bandcomp_30m_all\';
%
% for i = 2:length(files)
% outstr = strcat(path,files(i).name);
% fstr = strcat(path,files(i).name);
% outstr = strcat('E:\Mine\study\scale_sim3_pro\1.3-landsat_bandcomp_1.5km\up_',files(i).name);
% [r c] = size(data);
% load(fstr);
% data = ldata(1:2016,1:1008,:);
% data = modp_qc(1:126,1:63,:);
data = data(1:m,1:n,:);
% data = fpar;
[m n r]=size(data);
% nscale = 16;
% nscale = 3;
% nscale = 48;
r1 = m/nscale;
c1 = n/nscale;
% data(data==-1)=0;
data(data==bg)=NaN;
% data(data
for i = 1:r1
for j = 1:c1
ix = (i-1)*nscale;
jx = (j-1)*nscale;
% data_block = data(ix+1:ix+nscale,jx+1:jx+nscale);
% dataup(i,j) = mean(mean(data_block));
data_block = data(ix+1:ix+nscale,jx+1:jx+nscale,:);
dataup(i,j,:) = mean(mean(data_block,1),2);
% dataup(i,j,:) = nanmean(nanmean(data_block,1),2);
% datastd(i,j,:) = nanstd(reshape(data_block,nscale^2,126));
end
end
end
% save(outstr,'dataup');
% end
% datacv = datastd./dataup;
% meancv = nanmean(datacv,3);
% pure = (datacv<=0.2)*1;
% pure2 = pure(:,:,1).*pure(:,:,2).*pure(:,:,3).*pure(:,:,4).*pure(:,:,5).*pure(:,:,6);
% weight = 1./meancv;
% adweight = weight./sum(sum(weight))*100;
% save up2012304.mat dataup datastd datacv meancv pure2 adweight;
% figure; surfc(dataup);axis off;
转载地址:https://blog.csdn.net/weixin_34518190/article/details/115946719 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!