Dynamic-Calibration/utils/YALMIP-master/extras/@lmi/sizeOLD.m

39 lines
793 B
Matlab
Executable File

function varargout=size(varargin)
%size Returns the number of inequalities and equalities
%
% n = SIZE(F) Returns the number of inequalities
% [n,m] = SIZE(F) Returns the number of inequalities and equalities
%
% See also LMI, ADDLMI
F = varargin{1};
nequ = 0;
nlmi = 0;
for i = 1:size(F.clauses,2)
if F.clauses{i}.type==3
nequ = nequ + 1;
else
nlmi = nlmi + 1;
end
end
if nargin == 1
switch (nargout)
case {0,1}
varargout{1} = nlmi;
case 2
varargout{1} = nlmi;
varargout{2} = nequ;
otherwise
error('>2 outputs in size?');
end
else
switch(varargin{2})
case 1
varargout{1} = nlmi;
case 2
varargout{1} = nequ;
otherwise
error('Second argument should be 1 (# LMIs) or 2 (# equalities)');
end
end