diff options
author | Eugeniy E. Mikhailov <evgmik@gmail.com> | 2021-01-29 16:23:05 -0500 |
---|---|---|
committer | Eugeniy E. Mikhailov <evgmik@gmail.com> | 2021-01-29 16:23:05 -0500 |
commit | 3983eb46023c1edd00617729ba929057fda8d0bd (patch) | |
tree | 816ad084f355000656c43da9160f1c257bbb1ddc /l1eq_example.m | |
download | l1magic-1.11.tar.gz l1magic-1.11.zip |
Initial import from https://statweb.stanford.edu/~candes/software/l1magic/v1.11
Additional Clean up of Mac dirs and tex generated files
Diffstat (limited to 'l1eq_example.m')
-rw-r--r-- | l1eq_example.m | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/l1eq_example.m b/l1eq_example.m new file mode 100644 index 0000000..d67cf6f --- /dev/null +++ b/l1eq_example.m @@ -0,0 +1,58 @@ +% l1eq_example.m +% +% Test out l1eq code (l1 minimization with equality constraints). +% +% Written by: Justin Romberg, Caltech +% Email: jrom@acm.caltech.edu +% Created: October 2005 +% + +% put key subdirectories in path if not already there +path(path, './Optimization'); +path(path, './Data'); + +% To reproduce the example in the documentation, uncomment the +% two lines below +%load RandomStates +%rand('state', rand_state); +%randn('state', randn_state); + +% signal length +N = 512; +% number of spikes in the signal +T = 20; +% number of observations to make +K = 120; + +% random +/- 1 signal +x = zeros(N,1); +q = randperm(N); +x(q(1:T)) = sign(randn(T,1)); + +% measurement matrix +disp('Creating measurment matrix...'); +A = randn(K,N); +A = orth(A')'; +disp('Done.'); + +% observations +y = A*x; + +% initial guess = min energy +x0 = A'*y; + +% solve the LP +tic +xp = l1eq_pd(x0, A, [], y, 1e-3); +toc + +% large scale +% Afun = @(z) A*z; +% Atfun = @(z) A'*z; +% tic +% xp = l1eq_pd(x0, Afun, Atfun, y, 1e-3, 30, 1e-8, 200); +% toc + + + + |