Mercurial > hg > smallbox
annotate DL/Majorization Minimization DL/ExactDicoRecovery/mod_exactRec.m @ 160:e3035d45d014 danieleb
Added support classes
author | Daniele Barchiesi <daniele.barchiesi@eecs.qmul.ac.uk> |
---|---|
date | Wed, 31 Aug 2011 10:53:10 +0100 |
parents | b14209313ba4 |
children |
rev | line source |
---|---|
ivan@155 | 1 %%% MOD (||ki||<=1) %%%% |
ivan@155 | 2 function mod_exactRec(it,k,sn) |
ivan@155 | 3 tic |
ivan@155 | 4 IT = str2num(it); |
ivan@155 | 5 K = str2num(k); |
ivan@155 | 6 SN = str2num(sn); |
ivan@155 | 7 if SN<10, |
ivan@155 | 8 samnum = ['0',num2str(SN)]; |
ivan@155 | 9 else |
ivan@155 | 10 samnum = num2str(SN); |
ivan@155 | 11 end |
ivan@155 | 12 load(['Param',num2str(K),'kS',samnum,'.mat']) |
ivan@155 | 13 method = ['bn';'un']; |
ivan@155 | 14 res = 2; % 1 for bounded-norm, 2 for unit-norm |
ivan@155 | 15 lambda = 2*.2; % 2 * Smallest coefficients (Soft Thresholding) |
ivan@155 | 16 % lambda = 2*.2^2; % 2 * Smallest coefficients (Hard Thresholding) |
ivan@155 | 17 %%%%%%%%%%%%%% |
ivan@155 | 18 Phi = Phio; |
ivan@155 | 19 [PhiN,PhiM] = size(Phi); |
ivan@155 | 20 RR1 = PhiM; |
ivan@155 | 21 %%%%%%%%%%%%%% |
ivan@155 | 22 [PhiM,L] = size(ud); |
ivan@155 | 23 unhat = ones(PhiM,L); |
ivan@155 | 24 for it = 1:IT |
ivan@155 | 25 it |
ivan@155 | 26 to = .1+svds(Phi,1); |
ivan@155 | 27 [PhiN,PhiM] = size(Phi); |
ivan@155 | 28 %%%% |
ivan@155 | 29 % eps = 10^-7; |
ivan@155 | 30 eps = 3*10^-4; |
ivan@155 | 31 maxIT = 1000; |
ivan@155 | 32 map = 0; |
ivan@155 | 33 [unhat,l1err] = mm1(Phi,x,unhat,to,lambda,maxIT,eps,map); %% Sparse approximation with Iterative Soft-thresholding |
ivan@155 | 34 ert(it) = l1err; |
ivan@155 | 35 %%% |
ivan@155 | 36 [Phi,unhat] = modcn(x,unhat,res); |
ivan@155 | 37 end |
ivan@155 | 38 save(['MODl120t',num2str(IT),'iki',method(res,:),num2str(K),'v2d',num2str(SN),'.mat'],'Phi','Phid','x','ud','unhat','ert') |
ivan@155 | 39 toc |