www.gusucode.com > matlab写的贝叶斯的压缩感知的代码 > BCS_CODE\bcs_ver0.1\MT_CS_demo\Fig3.m
%--------------------------------------------------------- % This code generates Figure 3 of the following paper: % "Multi-Task Compressive Sensing" (Preprint, 2007) % This example is modified from l1qc_example.m, an example % from l1magic. % Coded by: Shihao Ji, ECE, Duke University % last change: May. 15, 2007 %--------------------------------------------------------- clear all % base = 40; % number of initial random measurements ns = 100; % number of additional random measurements load multi_results_75.mat E1_BCS E2_BCS E1_MT E2_MT; ST_mean_75 = mean((E1_BCS+E2_BCS)/2); ST_std_75 = std((E1_BCS+E2_BCS)/2); MT_mean_75 = mean((E1_MT+E2_MT)/2); MT_std_75 = std((E1_MT+E2_MT)/2); load multi_results_50.mat E1_BCS E2_BCS E1_MT E2_MT; ST_mean_50 = mean((E1_BCS+E2_BCS)/2); ST_std_50 = std((E1_BCS+E2_BCS)/2); MT_mean_50 = mean((E1_MT+E2_MT)/2); MT_std_50 = std((E1_MT+E2_MT)/2); load multi_results_25.mat E1_BCS E2_BCS E1_MT E2_MT; ST_mean_25 = mean((E1_BCS+E2_BCS)/2); ST_std_25 = std((E1_BCS+E2_BCS)/2); MT_mean_25 = mean((E1_MT+E2_MT)/2); MT_std_25 = std((E1_MT+E2_MT)/2); % ST_mean = (ST_mean_25+ST_mean_50+ST_mean_75)/3; ST_std = (ST_std_25+ST_std_50+ST_std_75)/3; figure; hold on; plot((1:ns)+base,ST_mean,'k-o'); plot((1:ns)+base,MT_mean_25,'b-+'); plot((1:ns)+base,MT_mean_50,'g-s'); plot((1:ns)+base,MT_mean_75,'r-*'); xlabel('Number of Measurements'); ylabel('Reconstruction Error'); legend('ST','MT 25%','MT 50%', 'MT 75%',1); box on; % figure; hold on; errorbar((1:ns)+base,ST_mean,ST_std,'k-o'); %errorbar((1:ns)+base,MT_mean_25,MT_std_25,'b-+'); %errorbar((1:ns)+base,MT_mean_50,MT_std_50,'g-s'); errorbar((1:ns)+base,MT_mean_75,MT_std_75,'r-*'); xlabel('Number of Measurements'); ylabel('Reconstruction Error'); %legend('ST','MT 25%','MT 50%', 'MT 75%',1); box on; box on; axis([40,140,-0.2,1.5]); legend('ST','MT 75%',1);