nikcleju@16: % Run GAP and save parameters and solutions as reference test data nikcleju@16: % to check if other algorithms are correct nikcleju@16: nikcleju@28: % numA = 10; nikcleju@28: % numY = 100; nikcleju@28: % nikcleju@28: % sizesA{1} = [50 100]; nikcleju@28: % sizesA{2} = [20 25]; nikcleju@28: % sizesA{3} = [10 120]; nikcleju@28: % sizesA{4} = [15 100]; nikcleju@28: % sizesA{5} = [70 100]; nikcleju@28: % sizesA{6} = [80 100]; nikcleju@28: % sizesA{7} = [90 100]; nikcleju@28: % sizesA{8} = [99 100]; nikcleju@28: % sizesA{9} = [100 100]; nikcleju@28: % sizesA{10} = [250 400]; nikcleju@28: % for i = 1:numA sizesA{i} = fliplr(sizesA{i}); end nikcleju@28: % nikcleju@28: % for i = 1:numA nikcleju@28: % sz = sizesA{i}; nikcleju@28: % cellA{i} = randn(sz); nikcleju@28: % m = round((0.2 + 0.6*rand)*sz(2)); nikcleju@28: % cellM{i} = randn(m,sz(2)); nikcleju@28: % cellY{i} = randn(m, numY); nikcleju@28: % cellXinit{i} = zeros(sz(2), numY); nikcleju@28: % for j = 1:numY nikcleju@28: % cellEps{i}(j) = rand / 100; % restrict from 0 to 1% of measurements nikcleju@28: % end nikcleju@28: % end nikcleju@28: % opt_num_iteration = 1000; nikcleju@28: % opt_greedy_level = 0.9; nikcleju@28: % opt_stopping_coefficient_size = 1e-4; nikcleju@28: % opt_l2solver = 'pseudoinverse'; nikcleju@16: nikcleju@28: load GAPtestdata nikcleju@16: tic nikcleju@16: for i = 1:numA nikcleju@16: for j = 1:numY nikcleju@16: gapparams.num_iteration = opt_num_iteration; nikcleju@16: gapparams.greedy_level = opt_greedy_level; nikcleju@16: gapparams.stopping_coefficient_size = opt_stopping_coefficient_size; nikcleju@16: gapparams.l2solver = opt_l2solver; nikcleju@16: gapparams.noise_level = cellEps{i}(j); nikcleju@16: nikcleju@16: cellXr{i}(:,j) = GAP(cellY{i}(:,j), cellM{i}, cellM{i}', cellA{i}, cellA{i}', gapparams, cellXinit{i}(:,j)); nikcleju@16: end nikcleju@16: end nikcleju@16: toc nikcleju@16: nikcleju@28: % save GAPtestdata