📄 fmincon_congp.m
字号:
function [g,geq,dg,dgeq] = fmincon_congp(x,prob)
z = prob.A*x;
expz = exp(z);
g = prob.B*expz;
g = log(g);
if length(prob.h) > 0
geq = log(prob.h) + prob.G*x;
dgeq = prob.G';
else
geq = [];
dgeq = [];
end
% Should be correct, but it fails for some problems (test_gp_5)
dg = [];
%z = prob.A*x;
%expz = exp(z);
expz(isinf(expz)) = 1e5;
T=diag(sparse(1./(prob.B*expz)));
U=diag(sparse(expz));
dg = (T*prob.B*(U*prob.A))';
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -