📄 diffusionkernel.m
字号:
function [Y] = diffusionKernel (X,sigmaK,alpha,d)
% ************** diffusionKernel function **************
% Written by R. Coifman & S. Lafon.
D = L2_distance(X',X',1);
K = exp(-(D/sigmaK).^2);
p = sum(K);
p = p(:);
K1 = K./((p*p').^alpha);
v = sqrt(sum(K1));
v = v(:);
A = K1./(v*v');
if sigmaK >= 0.5
thre = 1e-7;
M = max(max(A));
A = sparse(A.*double(A>thre*M));
[U,S,V] = svds(A,d+1); %Sparse version.
U = U./(U(:,1)*ones(1,d+1));
else
[U,S,V] = svd(A,0); %Full version.
U = U./(U(:,1)*ones(1,size(U,1)));
end;
Y = U(:,2:d+1);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -