Rev | Line | |
---|
[37] | 1 | function varargout = getvariables(X,whatvars) |
---|
| 2 | %GETVARIABLES Returns variable indicies to variables used in a SDPVAR object |
---|
| 3 | % |
---|
| 4 | % i = getvariables(x) |
---|
| 5 | % |
---|
| 6 | % Input |
---|
| 7 | % x : SDPVAR object |
---|
| 8 | % Output |
---|
| 9 | % i : DOUBLE |
---|
| 10 | % |
---|
| 11 | % Note : The difference compared DEPENDS is that nonlinear terms |
---|
| 12 | % are reported as separate variables. |
---|
| 13 | |
---|
| 14 | % Author Johan Löfberg |
---|
| 15 | % $Id: getvariables.m,v 1.1 2006/08/10 18:00:20 joloef Exp $ |
---|
| 16 | |
---|
| 17 | switch nargin |
---|
| 18 | case 1 |
---|
| 19 | varargout{1} = X.lmi_variables; |
---|
| 20 | case 2 |
---|
| 21 | [sqrList,CompressedList] = yalmip('nonlinearvariables'); |
---|
| 22 | used_variables = getvariables(X); |
---|
| 23 | if isempty(sqrList) |
---|
| 24 | LinearVariables = used_variables; |
---|
| 25 | NonlinearVariables=[]; |
---|
| 26 | else |
---|
| 27 | LinearVariables = setdiff(used_variables,sqrList(:,1)); |
---|
| 28 | NonlinearVariables = setdiff(used_variables,LinearVariables); |
---|
| 29 | end |
---|
| 30 | switch whatvars |
---|
| 31 | case 'linear' |
---|
| 32 | varargout{1} = LinearVariables; |
---|
| 33 | case 'nonlinear' |
---|
| 34 | varargout{1} = NonlinearVariables; |
---|
| 35 | case 'both' |
---|
| 36 | varargout{1} = LinearVariables; |
---|
| 37 | varargout{2} = NonlinearVariables; |
---|
| 38 | otherwise |
---|
| 39 | error |
---|
| 40 | end |
---|
| 41 | otherwise |
---|
| 42 | error |
---|
| 43 | end |
---|
Note: See
TracBrowser
for help on using the repository browser.