Mercurial > hg > smallbox
diff DL/two-step DL/dico_decorr.m @ 156:a4d0977d4595 danieleb
First branch commit, danieleb
author | danieleb |
---|---|
date | Tue, 30 Aug 2011 11:12:31 +0100 |
parents | 485747bf39e0 |
children |
line wrap: on
line diff
--- a/DL/two-step DL/dico_decorr.m Fri Jul 29 12:35:52 2011 +0100 +++ b/DL/two-step DL/dico_decorr.m Tue Aug 30 11:12:31 2011 +0100 @@ -9,6 +9,8 @@ % Result: % dico: a dictionary close to the input one with coherence mu. + eps = 1e-6; % define tolerance for normalisation term alpha + % compute atom weights if nargin > 2 rank = sum(amp.*amp, 2); @@ -20,7 +22,7 @@ % coherence mu. niter can be adjusted to needs. niter = 1; while niter < 5 && ... - max(max(abs(dico'*dico -eye(length(dico))))) > mu + 10^-6 + max(max(abs(dico'*dico -eye(length(dico))))) > mu + eps % find pairs of high correlation atoms colors = dico_color(dico, mu); @@ -36,7 +38,7 @@ % update the atom corr = dico(:,index(1))'*dico(:,index(2)); - alpha = sqrt((1-mu*mu)/(1-corr*corr)); + alpha = sqrt((1-mu*mu)/(1-corr^2+eps)); beta = corr*alpha-mu*sign(corr); dico(:,index(2)) = alpha*dico(:,index(2))... -beta*dico(:,index(1));