intvar.m

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

M
33
字号
function sys = intvar(varargin)
%INTVAR Create symbolic integer variable 
%   
%   INTVAR works exactly as SDPVAR, with the only difference that
%   the elements in the variable automatically will be constrained 
%   to be integer when an optimization problem is solved.
%
%   See also SDPVAR, BINVAR, INTEGER, BINARY

% Author Johan L鰂berg
% $Id: intvar.m,v 1.7 2006/05/17 13:22:29 joloef Exp $

all_variable_names = 1;
i = 1;
while all_variable_names & i<=nargin
    all_variable_names = all_variable_names & isvarname(varargin{i});
    i = i + 1;
end
if all_variable_names
    for k = 1:nargin
        varname = varargin{k};
        assignin('caller',varname,intvar(1,1));
    end
else
    sys = sdpvar(varargin{:}); 
    if isa(sys,'cell')
        for i = 1:length(sys)
            yalmip('setintvariables',[yalmip('intvariables') getvariables(sys{i})]);
        end
    else
        yalmip('setintvariables',[yalmip('intvariables') getvariables(sys)]);
    end
end

⌨️ 快捷键说明

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