Dynamic-Calibration/utils/YALMIP-master/extras/@ncvar/sos.m

36 lines
685 B
Matlab
Executable File

function X=sos(X,r)
%SOS Declare sum-of-squares structure
%
% F = sos(p,r)
%
% Input
% p : SDPVAR object
% r : Desired rank (optional)
% Output
% F : Constraint object
%
% Example:
% Typical usage is
%
% F = sos(p)
%
% An experimental feature is to search for
% low rank decompositions. To search for a
% decomposition using at most 3 terms, use
% a second argument
%
% F = sos(p,3)
%
% Note that his feature requires the solver LMIRANK.
%
% See also SOSEX
if ~issymmetric(X)% X.n>1 | X.m>1
error('SOS can only be applied to symmetric polynomial matrices');
end
if nargin<2
r = inf;
end
X.typeflag = 11;
X.extra.sosid = yalmip('sosid');
X.extra.rank = r;