0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019 EXP_LIST = [1 1 2 5 1; 1 1 3 5 1; 1 1 4 5 1; 1 2 2 5 1; 1 2 3 5 1; 1 2 4 5 1];
0020 maxNumCompThreads(1);
0021
0022
0023 mname = mfilename;
0024 mpath = mfilename('fullpath');
0025 mdir = mpath(1:end-length(mname));
0026 cd(mdir);
0027
0028 addpath ../Pursuits_Homotopy/
0029 addpath ../utils/
0030 addpath ../utils/utils_Wavelet/
0031 addpath ../solvers/
0032 addpath src/
0033
0034
0035
0036 rwt = 5;
0037 rwt_adp = 2;
0038
0039
0040 delx_mode = 'mil';
0041
0042
0043 maxsim = 100;
0044
0045 mType_list = {'randn','orth','rdct'};
0046 sType_list = {'randn','sign','highD'};
0047 SNR_list = [20:10:40 inf];
0048
0049 lambda_list = [0, 1e-1, 1e-2, 1e-4];
0050
0051
0052
0053 N_list = [256 512 1024];
0054 M_ratio = [2:5];
0055 T_ratio = [3:5];
0056
0057
0058
0059
0060
0061
0062
0063 for pf = 1:length(EXP_LIST)
0064
0065 mT = EXP_LIST(pf,1);
0066 sT = EXP_LIST(pf,2);
0067 snr = EXP_LIST(pf,3);
0068 rwt_mode = EXP_LIST(pf,4);
0069 lam_mode = EXP_LIST(pf,5);
0070
0071 EXP_stack = {};
0072 estack = 1;
0073 EXP_stack{1,1} = 'mType';
0074 EXP_stack{1,2} = 'sType';
0075 EXP_stack{1,3} = 'SNR';
0076 EXP_stack{1,4} = 'rwt_mode';
0077 EXP_stack{1,5} = 'lambda_mode';
0078 EXP_stack{1,6} = 'N';
0079 EXP_stack{1,7} = 'M';
0080 EXP_stack{1,8} = 'T';
0081 EXP_stack{1,9} = 'str0';
0082 EXP_stack{1,10} = 'str2';
0083 EXP_stack{1,11} = 'avg SIM_stack';
0084 EXP_stack{1,12} = 'SIM_stack';
0085 EXP_stack{1,13} = 'SIM_memory';
0086
0087
0088 for nl = 1:length(N_list)
0089 for mr = 1:length(M_ratio)
0090 for tr = 1:length(T_ratio)
0091
0092 N = N_list(nl);
0093 M = round(N/M_ratio(mr));
0094 T = round(M/T_ratio(tr));
0095
0096 sType = char(sType_list{sT});
0097 mType = char(mType_list{mT});
0098 SNR = SNR_list(snr);
0099
0100 lambda = lambda_list(lam_mode);
0101
0102 str0 = sprintf('mType-%s, sType-%s, SNR = %d, (N,M,T) = %d, %d, %d, rwt_mode-%d, lambda%3.4g.', mType, sType, SNR, N, M, T, rwt_mode, lambda);
0103 disp(str0);
0104
0105 filename_save = sprintf('results_comparison_ALL/comparison_wtBPDN_mT-%s_sT-%s_SNR%d-reproduce-Trwt.mat',mType,sType,SNR);
0106
0107
0108
0109
0110
0111
0112 rseed = 2012;
0113 rand('state',rseed);
0114 randn('state',rseed);
0115
0116
0117 script_simulation_wtBPDN
0118
0119
0120 estack = estack+1;
0121
0122 EXP_stack{estack,1} = mType;
0123 EXP_stack{estack,2} = sType;
0124 EXP_stack{estack,3} = SNR;
0125 EXP_stack{estack,4} = rwt_mode;
0126 EXP_stack{estack,5} = lambda;
0127 EXP_stack{estack,6} = N;
0128 EXP_stack{estack,7} = M;
0129 EXP_stack{estack,8} = T;
0130 EXP_stack{estack,9} = str0;
0131 EXP_stack{estack,10} = str2;
0132 EXP_stack{estack,11} = mean(cell2mat(SIM_stack),1);
0133 EXP_stack{estack,12} = SIM_stack;
0134 EXP_stack{estack,13} = SIM_memory;
0135
0136 eval(sprintf('save %s', filename_save));
0137 end
0138 end
0139 end
0140 end