fmincon_congp.m

来自「国外专家做的求解LMI鲁棒控制的工具箱,可以相对高效的解决LMI问题」· M 代码 · 共 26 行

M
26
字号
function [g,geq] = fmincon_congp(x,dummy1,dummy2,dummy4)

persistent prob
persistent A

if nargin == 4
   prob = dummy4;
   A = spalloc(max(prob.map),size(prob.a,2),0);
   for i = 1:max(prob.map)
       ind = find(prob.map==i);
       A(i,ind) = prob.b(ind)';
   end
   return
end

g = A*exp(prob.a*x);
geq = [];

ind = find(g<1e-2);
if ~isempty(ind)
    g(ind) = exp(log(1e-2)+(g(ind)-1e-2)/1e-2);
    g = log(g);
else
    g = log(g);
end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?