annotate tests/SL0approxgentest.m @ 64:a115c982a0fd

Fixed bug in GAP: Lambdahat might get empty after row removing; in this case should stop and return current solution, otherwise it will raise an exception next time you try to remove rows
author Nic Cleju <nikcleju@gmail.com>
date Tue, 13 Mar 2012 16:18:11 +0200
parents 66d8654fb73e
children
rev   line source
nikcleju@11 1 % Run SL0 and save parameters and solutions as reference test data
nikcleju@11 2 % to check if other algorithms are correct
nikcleju@11 3
nikcleju@11 4 numA = 10;
nikcleju@11 5 numY = 100;
nikcleju@11 6
nikcleju@11 7 sizesA{1} = [50 100];
nikcleju@11 8 sizesA{2} = [20 25];
nikcleju@11 9 sizesA{3} = [10 120];
nikcleju@11 10 sizesA{4} = [15 100];
nikcleju@11 11 sizesA{5} = [70 100];
nikcleju@11 12 sizesA{6} = [80 100];
nikcleju@11 13 sizesA{7} = [90 100];
nikcleju@11 14 sizesA{8} = [99 100];
nikcleju@11 15 sizesA{9} = [100 100];
nikcleju@11 16 sizesA{10} = [250 400];
nikcleju@11 17
nikcleju@11 18 sigmamin = [0.00001 0.01 0.2 0.3 0.4 0.0001 0.1 0.001 0.1 0.1];
nikcleju@11 19
nikcleju@11 20 for i = 1:numA
nikcleju@11 21 sz = sizesA{i};
nikcleju@11 22 cellA{i} = randn(sz);
nikcleju@11 23 cellY{i} = randn(sz(1), numY);
nikcleju@11 24 for j = 1:numY
nikcleju@11 25 cellEps{i}(j) = rand / 100; % restrict from 0 to 1% io measurements
nikcleju@11 26 end
nikcleju@11 27 end
nikcleju@11 28
nikcleju@11 29 %load SL0approxtestdata
nikcleju@11 30 tic
nikcleju@11 31 for i = 1:numA
nikcleju@11 32 for j = 1:numY
nikcleju@11 33 cellXr{i}(:,j) = SL0_approx(cellA{i}, cellY{i}(:,j), cellEps{i}(j), sigmamin(i));
nikcleju@11 34 end
nikcleju@11 35 end
nikcleju@11 36 toc
nikcleju@11 37
nikcleju@11 38 save SL0approxtestdata