nikcleju@11: % Run SL0 and save parameters and solutions as reference test data nikcleju@11: % to check if other algorithms are correct nikcleju@11: nikcleju@11: numA = 10; nikcleju@11: numY = 100; nikcleju@11: nikcleju@11: sizesA{1} = [50 100]; nikcleju@11: sizesA{2} = [20 25]; nikcleju@11: sizesA{3} = [10 120]; nikcleju@11: sizesA{4} = [15 100]; nikcleju@11: sizesA{5} = [70 100]; nikcleju@11: sizesA{6} = [80 100]; nikcleju@11: sizesA{7} = [90 100]; nikcleju@11: sizesA{8} = [99 100]; nikcleju@11: sizesA{9} = [100 100]; nikcleju@11: sizesA{10} = [250 400]; nikcleju@11: nikcleju@11: sigmamin = [0.00001 0.01 0.2 0.3 0.4 0.0001 0.1 0.001 0.1 0.1]; nikcleju@11: nikcleju@11: for i = 1:numA nikcleju@11: sz = sizesA{i}; nikcleju@11: cellA{i} = randn(sz); nikcleju@11: cellY{i} = randn(sz(1), numY); nikcleju@11: for j = 1:numY nikcleju@11: cellEps{i}(j) = rand / 100; % restrict from 0 to 1% io measurements nikcleju@11: end nikcleju@11: end nikcleju@11: nikcleju@11: %load SL0approxtestdata nikcleju@11: tic nikcleju@11: for i = 1:numA nikcleju@11: for j = 1:numY nikcleju@11: cellXr{i}(:,j) = SL0_approx(cellA{i}, cellY{i}(:,j), cellEps{i}(j), sigmamin(i)); nikcleju@11: end nikcleju@11: end nikcleju@11: toc nikcleju@11: nikcleju@11: save SL0approxtestdata