


剛接觸yalmip 還望各位大佬指點代碼有何錯誤以及用什么solver求解 圖片是約束條件,代碼如下:
% 清除作業區
clear;
% 匯入資料
load matlab.mat;
% 創建變數
n = size(miu,1);
k = sdpvar(1);
t = sdpvar(1);
y = sdpvar(n,1);
Y = sdpvar(n,n);
v = sdpvar(n,1);
beta = sdpvar(1);
M = [Y,(1/2).*y;(1/2).*y',t];
Gamma = Sigma + miu*miu';
Ommiga = [1,miu';miu,Gamma];
A = Ommiga*M;
a = trace(A);
B = -(v./b);
D = sum(c.*v) + sum((log(v).*v)./b) + k*sum(v) + k;
E = [zeros(n),(1/2).*B;(1/2).*B',D - beta];
% 目標函式
z = -k;
% 添加約束條件
C1 = [M >= 0];
C2 = [beta + (1/epsilong)*a <= 0];
C3 = [M - E >= 0];
constrant = [C1,C2,C3];
% 配置
ops = sdpsettings('verbose',0);
% 求解
result = optimize(constrant,z,ops);
if result.problem == 0
value(v)
-value(z)
else
disp('求解程序中出錯');
end
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/57266.html
標籤:其他開發語言
