[未答复] 凸优化 级数求和表达式是否正确 CVX symsum

[复制链接]
liujunfeng1225 发表于 2021-10-13 17:14:27
本帖最后由 liujunfeng1225 于 2021-10-13 18:24 编辑

希望用matlab写一个优化目标的函数表达式,数学形式如下:



其中
               Nt=4;


h_i和σ^2均为已知变量。


问题代码如下:

  1. Nt=4;
  2. H=rand(4,4);
  3. Pmax=100;
  4. cvx_begin
  5.     variables p(Nt);
  6.     syms n j;
  7.     maximize(symsum(log2(1+(p(n)*sum(H(:,n).^2))/(1+symsum((p(j)*(H(:,j)^2)),j,1,n-1))),n,1,Nt));
  8.     subject to
  9.     sum(p)<=Pmax;
  10.     for i=1:4
  11.        p(i)>=1;
  12.     end
  13. cvx_end
复制代码


问题在于在一个求和级数中如何嵌套求和级数
问题代码:
  1. maximize(symsum(log2(1+(p(n)*sum(H(:,n).^2))/(1+symsum((p(j)*(H(:,j)^2)),j,1,n-1))),n,1,Nt));
复制代码
显示错误为警告: A non-empty cvx problem already exists in this scope.
   It is being overwritten.
> In cvxprob (line 28)
  In cvx_begin (line 41)
错误使用 cvx/subsref (line 13)
Invalid indexing or function definition. Indexing must follow MATLAB indexing. Function arguments must be symbolic variables, and
function body must be sym expression.


您需要登录后才可以回帖 登录 | 注册

本版积分规则

相关帖子
相关文章
热门教程
站长推荐
快速回复 返回顶部 返回列表