ufc_pr.m

来自「ufc无监督优化模糊聚类用于彩色图像分割」· M 代码 · 共 39 行

M
39
字号
function [U,V,J,ll,r]=ufc_pr(X,U,V,c,r,m,g,pnorm,cluster_error)

[leng,dim] = size(X);
E = zeros(dim,dim,c);
S = zeros(dim,r,c);
Dr = zeros(c,leng);
Dp = zeros(c,leng);
D = zeros(c,leng);
while 1     
    for i = 1:c
        a = X - repmat(V(i,:),leng,1);
        b = a .* repmat(U(i,:)',1,dim);
        E(:,:,i) = b' * a;
        
        pc = pcacov(E(:,:,i));
        S(:,:,i) = pc(:,1:r);
        a = X - repmat(V(i,:), leng, 1);
        if r == 1
            Dr(i,:) =  S(:,:,i)' * a';
        else
            Dr(i,:) =  sum(S(:,:,i)' * a');
        end
        Dp(i,:) = sum(a'.^pnorm);
    end
    
    D = Dp + g * Dr;
    D1 = D .^ (-1/(m-1));
    U_new = D1 ./ repmat(sum(D1), c, 1);
    U_error = norm(U_new - U,'fro')
    if U_error < cluster_error
        break;
    end
    U = U_new;
    
    a = U.^m * X;
    b = sum(U'.^m)';                                                                                                                    
    b = repmat(b,1,dim);
    V = a ./ b;
end

⌨️ 快捷键说明

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