Mercurial > hg > smallbox
comparison util/classes/@dictionary/plotcumcoherencebounds.m @ 184:8fc38e8df8c6 danieleb
Minor edits
author | Daniele Barchiesi <daniele.barchiesi@eecs.qmul.ac.uk> |
---|---|
date | Fri, 27 Jan 2012 13:18:50 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
183:0d7a81655ef2 | 184:8fc38e8df8c6 |
---|---|
1 function plotcumcoherencebounds(obj) | |
2 | |
3 [d N] = size(obj.phi); | |
4 | |
5 mu1 = cumcoherence(obj,1); | |
6 mu2 = cumcoherence(obj,2); | |
7 mu1_min = (1:d)*sqrt((N-d)/(d*(N-1))); | |
8 | |
9 figure, subplot(2,1,1) | |
10 hold on, grid on | |
11 plot(1:d,mu1,'k-') | |
12 plot(1:d,mu2,'k--') | |
13 plot(1:d,mu1_min,'b-.') | |
14 set(gca,'XScale','log','YScale','log'); | |
15 axis tight | |
16 ylabel('p-cumulative coherence') | |
17 xlabel('k') | |
18 legend('\mu_1(k)','\mu_2(k)','\mu_{1_{min}}(k)') | |
19 | |
20 % temp = conv(mu1,[1 1]); | |
21 % kMax = find(temp<1,1,'last'); | |
22 % title(['Worst case bound: k_{max} = ' num2str(kMax)]) | |
23 % | |
24 % % subplot(2,1,2) | |
25 % p_BP_fails = exp(-1./(8*mu1(1)^2*(1:d))); | |
26 % p_TH_fails = exp(-1./(128*mu2.^2)); | |
27 % plot(1:d,p_BP_fails,'k-+'); | |
28 % plot(1:d,p_TH_fails,'k-o'); | |
29 % legend('P(BP fails)','P(TH fails)'); | |
30 | |
31 % % Plot cumulative coherence with lower and upper bounds | |
32 % mumin = (1:d)*sqrt((N-d)/(d*(N-1))); | |
33 % mumax = (1:d); | |
34 % figure, | |
35 % subplot(1,6,1:2) | |
36 % hold on, grid on | |
37 % plot(1,mumax(1),'k-s'); | |
38 % plot(1,mu(1),'ko'); | |
39 % plot(1,mumin(1),'k-d') | |
40 % | |
41 % | |
42 % subplot(1,6,3:6) | |
43 % hold on, grid on | |
44 % plot(2:d,mumax(2:end),'k-s'); | |
45 % plot(2:d,mu(2:end),'k-o'); | |
46 % plot(2:d,mumin(2:end),'k-d'); | |
47 % set(gca,'XScale','log','YScale','log'); | |
48 % axis tight | |
49 % xlabel('k'); | |
50 % ylabel('\mu(k)'); | |
51 % ylim([mumin(1) 10]) | |
52 % | |
53 % % Plot recovery bounds | |
54 % plot(2:d,1-mu(1:d-1),'r-o') | |
55 % plot(2:d,1-mumin(1:d-1)','r-d') | |
56 % plot([2 d],[1/3 1/3],'b'); | |
57 % legend('\mu_{max}(k)','\mu(k)','\mu_{min}(k)','Exact-Sparse \mu','Exact-Sparse \mu_{min}','Sparse'); | |
58 | |
59 | |
60 % v = conv(mu,[1 1]); | |
61 % ind = find(v<1, 1, 'last'); | |
62 % | |
63 % line([ind ind], [min(mu) max(mu)],'Color','red'); | |
64 % title(['Minimum allowed sparsity (Tanner):' num2str(ind/obj.len)]); | |
65 end |