SGA
单形体增长(Samplex Growing Algorithm, SGA),先提取一个端元,然后以单形体体积最大为准则,逐一提取端元。该算法的思路也容易理解,下面给出代码,还请大家帮忙分析,在此表示感谢!
MATLAB代码
这是编写的第二个端元提取的代码,但是虽然该算法的原理很易理解,但在编写代码时,由于学习的流程中有些内容过于简略,指代不清,所以循环上出现了不少问题。
此代码仅为个人进行的尝试学习,由于对学习的流程中的有些内容没能理解透彻,且尝试了两种思路,所以可能算法存在偏差,虽然可以获得结果,但由于本人能力尚浅,无法判断所提取结果是否为端元。但个人认为提取结果存在问题,且与参照的代码所得结果不同。具体代码文件已上传至下载资源中,总共有三种略有差异的方法,还请诸位帮忙,感激不尽!
% PCA函数
function [R] = PCA(Data, k )
% Data:波段 * 像元
% k:主成分数,即降维后的维数
% R:降维后的图像
[Bands, N] = size(Data);
Data_mean = mean(Data, 2);
Data_norm = (Data - re