plus.m

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

M
29
字号
function X = plus(X,Y)
%PLUS Merges two LMI objects to one LMI

% Author Johan L鰂berg
% $Id: plus.m,v 1.8 2005/02/10 16:43:32 johanl Exp $

if ~((isa(X,'lmi')) & (isa(Y,'lmi')))
    error('Both arguments must be SET objects')
end


nX = length(X.clauses);
nY = length(Y.clauses);

if nX+nY == 0
    return
end

X.clauses = {X.clauses{:},Y.clauses{:}};
X.LMIid = [X.LMIid Y.LMIid];

% VERY FAST UNIQUE BECAUSE THIS IS CALLED A LOT OF TIMES....
i = sort(X.LMIid);
i = i(diff([i NaN])~=0); 
if length(i)<nX+nY    
    [i,j] = unique(X.LMIid);
    X = subsref(X,struct('type','()','subs',{{j}}));
end

⌨️ 快捷键说明

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