⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 addlmi.m

📁 optimization toolbox
💻 M
字号:
function sys = addlmi(F,X,handlestring)
% ADDLMI Obsolete. 
%
% Use overloaded + instead.
%

% Author Johan L鰂berg
% $Id: addlmi.m,v 1.2 2004/07/19 13:54:35 johanl Exp $


error('addlmi is obsolete. Use overloaded +');

switch(nargin)
    case {0,1}
        error('ADDLMI needs at least two arguments')
    case 2
        %       sys = F + lmi(X);
        handlestring = '';
    case 3
        %       sys = F + lmi(X,handlestring);
        if ~isa(handlestring,'char')
            error('The handle must be a string')
        end
    otherwise
        error('addlmi takes at mopst 3 arguments');
end

% Return empty LMI in degenerate case
if isempty(X)
    sys = F;
    return
end

%Symbolic expression given 
% 0 : Nothing (i.e. error)
% 1 : LMI
% 2 : Elementwise
% 3 : Equality
TypeofConstraint = 0;
switch class(X)
    case 'char'
        try
            sdpvarExpr =  parseLMI(X);
            X = strrep(X,'.>','>');
            X = strrep(X,'.<','<'); 
            X = strrep(X,'=','==');X = strrep(X,'====','==');
        catch
            error(lasterr)
        end
        try
            Fi=evalin('caller',sdpvarExpr); 
            if ~(isa(Fi,'sdpvar') | isa(Fi,'constraint'))
                error('The string does not define a constraint involving SDPVAR objects')
            end
        catch
            error(lasterr)
        end
    case 'sdpvar'
        Fi = X;
        X='Numeric value';
    case 'constraint'
        Fi = getlist(X);
        if length(Fi)>1
            error('Hey, you have updated your code for version 3, so why don''t you remove those addlmi''s');
        else
            Fi = Fi{1};
        end
        X='Numeric value';       
    otherwise
        error('LMI should be an sdpvar object or string.')
end

if isempty(Fi)
    sys = F;
    return
end

switch nargin
    case 2
        sys = F + lmi(Fi);
    case 3
        sys = F + lmi(Fi,handlestring);
    otherwise
end
return

⌨️ 快捷键说明

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