Ошибка при использовании cvx/mtimes (строка 41) Размеры внутренней матрицы должны совпадать. Ошибка в cvx/mrdivide (строка 15) z = mtimes( x, y, 'rdivide');
Я пытаюсь решить проблему геометрического программирования с помощью пакета cvx в Matlab. Цель - это максимизация, но внутри я должен определить функцию 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-выпуклый} .* {Log-concave}
Это относится к последней строке кода. Может ли кто-нибудь помочь мне решить эту проблему?