entropy_pc.m

来自「化学计量学中用于确定化学组分数的程序!请大家看看!」· M 代码 · 共 35 行

M
35
字号
function entropy_pc


load X.mat
entropy_last=[];
pc=25;
for i=1:pc
    [U,S,V]=svd(X);
    s=svd(X)
    XX=U(:,1:i)*S(1:i,1:i)*V(:,1:i)';
    S1=svd(XX);
    [m,n]=size(S1);
    p=S1./sum(S1);
    entropy=0;
    for j=1:m
        if p==0
            continue;
        else
            entropy=entropy-p(j)*log(p(j));
        end      
    end
   
    entropy_last=[entropy_last,entropy];
     
end
S=svd(X);
figure(1)
plot(log(S))
figure(2)
plot(entropy_last,'--rs','LineWidth',2,...
                'MarkerEdgeColor','k',...
                'MarkerFaceColor','g',...
                'MarkerSize',10)
    

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?