我正在尝试用Matlab中的cvx包解决几何编程问题。目标函数是最大化的,但在其中,我必须定义一个min函数。当我尝试运行代码时,我收到了此错误
使用cvx / mtimes时出错(第41行) 内部矩阵尺寸必须一致。
cvx / mrdivide出错(第15行) z = mtimes(x,y,' rdivide');
,代码在这里:
cvx_begin gp
variables P_1 P_2
maximize ((D * (log2(P_1 * min(G_1/(np + (P_2 * G_2)))))) + log2((P_2 * G_3)/(np + (P_1 * G_3))))
subject to
P_2 <= P_max_Cell;
P_1 <= P_max_D2D;
P_2 * (G_3/(np + (P_1 * G_3))) >= C_th;
min(G_1/(np + (P_2 * G_2))) * P_1 >= D_th;
((np + (P_2 * G_2)) * min(G_1/(np + (P_2 * G_2)))) <= G_1; cvx_end
我之前的问题已经解决了,但我有另一个错误,我现在为什么会这样,但我不知道如何解决它。错误是:
纪律凸编程错误: 无法执行操作:{log-convex}。* {log-concave}
它属于最后一行代码。任何人都可以帮我解决这个问题吗?