getavailablesolvers.m
来自「国外专家做的求解LMI鲁棒控制的工具箱,可以相对高效的解决LMI问题」· M 代码 · 共 32 行
M
32 行
function [solvers,keep] = getavailablesolvers(findallsolvers,options);
solvers = newsolverdefinitions;
keep = ones(length(solvers),1);
if nargin==23
if ~(isequal(options.solver,'') | isequal(options.solver,'bnb') | isequal(options.solver,'bmibnb') | isequal(options.solver,'sdpmilp') )
for i = 1:length(solvers)
if ~strcmpi(options.solver,solvers(i).tag)
keep(i)=0;
end
end
solvers=solvers(find(keep));
keep=keep(find(keep));
end
end
if ~findallsolvers
for i = 1:length(solvers)
isavailable = 1;
for j = 1:length(solvers(i).checkfor)
isavailable = isavailable & exist(solvers(i).checkfor{j},'file');
end
if ~isavailable
keep(i)=0;
end
end
end
if nargout == 1
solvers = solvers(find(keep));
end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?