depends.m

来自「matlab波形优化算法经常要用到的matlab toolbox工具箱:yalm」· M 代码 · 共 35 行

M
35
字号
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鰂berg
% $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);

⌨️ 快捷键说明

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