📄 mahalanob.m
字号:
function [Xt,t,MahalaD]=Mahalanob(X,e)
% X(m x n)为光谱矩阵(row is samples,column is spectrum)
% e(设定设置阈值范围)马氏距离标准差的权重系数
[m,n]=size(X);
Xm=mean(X);
CenterX=X-ones(m,1)*Xm;
M=CenterX'*CenterX./(m-1);
Minv=inv(M);
% (计算校正集样品的马氏距离)
for i=1:m
MahalaD(i)=(X(i,:)-Xm)*Minv*(X(i,:)-Xm)';
end
MahalaDm=mean(MahalaD);
Dstd=std(MahalaD);
p=1;
q=1;
for i=1:m
if MahalaD(i)<(MahalaDm+e*Dstd)
Xt(p,:)=X(i,:);
p=p+1;
else
t(q)=i;
q=q+1;
end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -