intvar.m
来自「国外专家做的求解LMI鲁棒控制的工具箱,可以相对高效的解决LMI问题」· M 代码 · 共 39 行
M
39 行
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.4 2004/07/09 13:21:39 johanl 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
switch nargin
case 1
sys = sdpvar(varargin{1});
case 2
sys = sdpvar(varargin{1},varargin{2});
case 3
sys = sdpvar(varargin{1},varargin{2},varargin{3});
case 4
sys = sdpvar(varargin{1},varargin{2},varargin{3},varargin{4});
otherwise
error('Wrong number of input arguments. See help-text for sdpvar')
end
yalmip('setintvariables',[yalmip('intvariables') getvariables(sys)]);
end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?