📄 指数循环.m
字号:
function [Output,RVI]=NIRNEW2(filename,Samples);
A=textread(filename);
if min(size(A))>Samples
A(:,Samples+1:min(size(A)))=[];
end
II=find(A==0);
A(II)==0.001;
Z=A(max(size(A))-1700:max(size(A)),:); % spectra are stored in R matrix which is the reflectance from 800nm to 2500nm
R=Z;
Wavelength=800:2500; %增加一行,命名为“wavelength”
Wavelength=Wavelength';% wavelength转置成列向量
R_FD=zeros(1700,Samples);% 1700行,samples列的一个全零矩阵,为了运算方便
R_SD=zeros(1699,Samples);% 1699行,samples列的一个全零矩阵
for jj=1:min(size(A))
for ii=1100:1160
RRef=R(ii,jj);
for iii=(ii+1):1160
for jjj=1:nchoosek(1160-1099,2)
RVI(jjj,jj)=R(ii,jj)/R(iii,jj)
end
end
end
end
D=A(1:max(size(A))-1701,:);%调入农学参数
M=[D;RVI]
J=corrcoef(M');
Z=J(:,1:max(size(A))-1701)
K=[Z];
for jj=1:min(size(A))
for ii=1100:1160
RRef=R(ii,jj);
for iii=(ii+1):1160
for jjj=1:nchoosek(1160-1099,2)
RVI(jjj,jj)=R(ii,jj)/R(iii,jj)
end
end
end
end
save E:\RVI.txt F -ASCII -DOUBLE -TABS %特征光谱参数
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -