derivebounds.m

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

M
26
字号
function [M,m] = derivebounds(f)
% Code to compute  estimates of max and min
% of the linear vector f
basis = getbase(f);
fvars = getvariables(f);
lowerupper = yalmip('getbounds',fvars);
b = basis(:,1);
A = basis(:,2:end);
M = repmat(-inf,size(b,1),1);
m = -M;
lower = lowerupper(:,1);
upper = lowerupper(:,2);
for i = 1:length(b)
    ind = A(i,:)>0;
    i1 = find(ind);
    i2 = find(~ind);
    a = A(i,[i1 i2]);
    M(i) = a*[upper(i1);lower(i2)];
    m(i) = a*[lower(i1);upper(i2)];
end
M(isnan(M)) = inf;
M(isinf(M)) = 1e4; M = M+b+0.1;
m(isnan(m)) = -inf;
m(isinf(m)) = -1e4;m = m+b-0.1;

⌨️ 快捷键说明

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