19 lines
621 B
Matlab
Executable File
19 lines
621 B
Matlab
Executable File
function [LASSO_lambda, recovery_results] = get_lambda(A, x, FAR_N, FAR_M, sigma, lambdas)
|
|
|
|
noise = get_noise(sigma, FAR_N, 1);
|
|
y = A * x;
|
|
y_noise = y + noise;
|
|
|
|
tau = 1e-6;
|
|
iter_max = 1000;
|
|
|
|
recovery_results = zeros(length(lambdas), 1);
|
|
for lambda_idx = 1: length(lambdas)
|
|
LASSO_lambda = lambdas(lambda_idx);
|
|
[x_LASSO, x_hat_d] = cVAMPro(y_noise, A, LASSO_lambda, tau, iter_max);
|
|
recovery_results(lambda_idx) = sum(real(x_LASSO(FAR_M + 1: 2 * FAR_M)));
|
|
% if abs(recovery_results(lambda_idx) - FAR_M) / FAR_M < 0.01
|
|
% return
|
|
% end
|
|
end
|
|
end |