问题遇到的现象和发生背景
我想在cvx sdp中写一个线性不等式的约束条件,如图
问题相关代码,请勿粘贴截图
cvx_begin sdp
variables W1x(Nt,Nt) W2x(Nt,Nt)
variable Zx(Nt,Nt) complex semidefinite
variable p13 nonnegative
variable p23 nonnegative
variable p14 nonnegative
variable p24 nonnegative
S1=(h_BI*((2^(re)-1)*Zx-W1x)*h_BI');
P13=[k*(2^(re)-1)-p13,zeros(1,M_irs);zeros(M_irs,1),p13*e*eye(M_irs)];
中间省略
subject to
P13+S3*theta0*S1*theta0'*S3' ==semidefinite(M_irs+1);
运行结果及报错内容
错误使用 *
用于矩阵乘法的维度不正确。请检查并确保第一个矩阵中的列数与第二个矩阵中的行数匹配。要执行按元素相乘,请使用 '.*'。
我的解答思路和尝试过的方法
只要加上上述约束条件就不对,但是矩阵维度都检查过了,没有问题,如果把约束条件单独拿出来运行,也不报错,只要放到约束条件里就报错,不知道是不是因为cvx不能检查LMI是否对称,我觉得不是矩阵维度问题,可能是我关于cvx sdp、LMI知识不熟练导致的
我想要达到的结果
不报错