Files
FAR_CS/wide vs narrow/single_point_test/get_lambda.m
T
2024-07-22 21:17:57 +08:00

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