water filling_cvx

I have this code in my matlab but it has an error as:
Incorrect number or types of inputs or outputs for function vec.
I would really appreciate it if you could help me to solve it.
I should emphasize that I installed cvx on my matla.
Np = 4;
Nsc= 4;
mu_l_n = [1.56247628361161e-06;
1.59519914659906e-06;
1.27498226759933e-06;
1.03143933197703e-05];
tilde_P1_tot = 1000;
sigma2_dBm = -104;
sigma2 = 10^(sigma2_dBm / 10 - 3);
cvx_begin quiet
Unrecognized function or variable 'cvx_begin'.
variable p1_l_n(Np) % Power allocation vector, column vector
term = (mu_l_n.^2 .* p1_l_n) / sigma2; % Define term for clarity
maximize(sum(log(1 + term))) % Objective function to maximize sum rates
subject to
sum(p1_l_n) == tilde_P1_tot / Nsc; % Total power constraint across subcarriers
p1_l_n >= 0; % Power must be non-negative
cvx_end
% Display the optimal power allocation
disp('Optimal power allocation:');
disp(p1_l_n);

Answers (1)

M.
M. on 3 Oct 2024
The code you provided works fine on my computer and outputs :
Optimal power allocation:
62.4982
62.4989
62.4901
62.5129
You have to make sure that the directory that stores the cvx toolbox is on your Matlab path.

5 Comments

Nasrin
Nasrin on 3 Oct 2024
@M.would you please share your code with me?
because it does not work for my friend and me.
M.
M. on 3 Oct 2024
I simply launched your code with cvx installed...
Nasrin
Nasrin on 3 Oct 2024
@M.you might use a different version of Matlab. it does not work with matlab 2024.
thank you by the way.
Is the problem with R2024a or R2024b ?
Nasrin
Nasrin on 8 Oct 2024
@Walter Roberson matlab R2024a

Sign in to comment.

Categories

Find more on MATLAB in Help Center and File Exchange

Asked:

on 2 Oct 2024

Commented:

on 8 Oct 2024

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!