Issues with SINR calculation in Maximization CVX problem?

Hello everyone; 
I am trying to implement a CVX maximization problem as attached with post.  However, I need to recalculate SINR value inside CVX . I used the following form:
 sinr = (P.* h) ./ (sigma + H*P);  where sigma is a vector. 
However, it gives me errors for using operations as (.* and ./). I found an example for power  minimization that use similar form to calculate inverse SINR and it works fine there. Can any one explain for me why CVX gives me error in my case? and how to implement it ? 
thank you in advance. 

回答 (1 件)

Jiangwei Liao
Jiangwei Liao 2023 年 6 月 29 日

0 投票

I found the reason though it has passed 7 years...hope it could help others who met the similar problem like you and me.
The main reason is the code "cvx_begin gp", the "gp" must be here.
The cvx accepts "posynomial ./ monomial" but not "real affine ./ real affine". If there's no "gp", the program will treat both "sigma + Gtilde*P" and “Gdiag.*P” as "real affine" which makes the error, and with "gp", then the program can work.

カテゴリ

ヘルプ センター および File Exchange で MATLAB についてさらに検索

タグ

質問済み:

2016 年 6 月 23 日

回答済み:

2023 年 6 月 29 日

Community Treasure Hunt

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

Start Hunting!

Translated by