function LinearVariables = depends(x) %DEPENDS Returns indicies to variables used in an SDPVAR object % % i = depends(x) % % Input % x : SDPVAR object % Output % i : DOUBLE % Author Johan Löfberg % $Id: depends.m,v 1.2 2006/08/11 11:48:15 joloef Exp $ [mt,variabletype] = yalmip('monomtable'); ncv = yalmip('nonCommutingTable'); % Simple linear cases if ~any(variabletype(x.lmi_variables)) LinearVariables = x.lmi_variables; else LinearVariables = []; for i = 1:length(x.lmi_variables) v = x.lmi_variables(i); if any(mt(v,:)) LinearVariables = [LinearVariables find(mt(v,:))]; else LinearVariables = [LinearVariables ncv(v,1+find(ncv(v,2:end)))]; if ~isnan(ncv(v,1)) v = ncv(v,1); LinearVariables = [LinearVariables find(mt(v,:))]; end end end end LinearVariables = unique(LinearVariables);