⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sceget.m

📁 SCE(shuffled complex evolution )是一种相对较新的连续性问题的元启发搜索算法。非常适合于求解具有多个局部最小的全局优化问题。SCE算法的主要特征是通过竞争进化和定期洗牌来
💻 M
字号:
function VAL = SCEGET(OPTIONS,name,default,flag)%SCEGET Get SCE OPTIONS parameters.%   VAL = SCEGET(OPTIONS,'NAME') extracts the value of the named parameter%   from optimization options structure OPTIONS, returning an empty matrix if%   the parameter value is not specified in OPTIONS.  It is sufficient to%   type only the leading characters that uniquely identify the%   parameter.  Case is ignored for parameter names.  [] is a valid OPTIONS%   argument.%%   VAL = SCEGET(OPTIONS,'NAME',DEFAULT) extracts the named parameter as%   above, but returns DEFAULT if the named parameter is not specified (is [])%   in OPTIONS.  For example%%     val = SCEGET(opts,'TolX',1e-4);%%   returns val = 1e-4 if the TolX property is not specified in opts.%%   See also SCESET, SCE% This file contains a modified version of MATLAB function OPTIMSET.% % Copyright (C) 2006 Brecht Donckels, BIOMATH, brecht.donckels@ugent.be% % This program is free software; you can redistribute it and/or% modify it under the terms of the GNU General Public License% as published by the Free Software Foundation; either version 2% of the License, or (at your option) any later version.% % This program is distributed in the hope that it will be useful,% but WITHOUT ANY WARRANTY; without even the implied warranty of% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the% GNU General Public License for more details. % % You should have received a copy of the GNU General Public License% along with this program; if not, write to the Free Software% Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,% USA.% undocumented usage for fast access with no error checkingif (nargin == 4) && isequal(flag,'fast')   VAL = getknownfield(OPTIONS,name,default);   returnendif nargin < 2  error('MATLAB:odeget:NotEnoughInputs','Not enough input arguments.');endif nargin < 3  default = [];endif ~isempty(OPTIONS) && ~isa(OPTIONS,'struct')  error('MATLAB:odeget:Arg1NotODESETstruct',...        'First argument must be an options structure created with ODESET.');endif isempty(OPTIONS)  VAL = default;  return;endNames = [    'nCOMPLEXES         '    'nITER_INNER_LOOP   '    'MAX_ITER           '    'MAX_TIME           '    'MAX_FUN_EVALS      '    'TOLX               '    'TOLFUN             '    'DISPLAY            '    'OUTPUT_FCN         '    ];names = lower(Names);lowName = lower(name);j = strmatch(lowName,names);if isempty(j)               % if no matches  error('MATLAB:odeget:InvalidPropName',...        ['Unrecognized property name ''%s''.  ' ...         'See ODESET for possibilities.'], name);elseif length(j) > 1            % if more than one match  % Check for any exact matches (in case any names are subsets of others)  k = strmatch(lowName,names,'exact');  if length(k) == 1    j = k;  else    msg = sprintf('Ambiguous property name ''%s'' ', name);    msg = [msg '(' deblank(Names(j(1),:))];    for k = j(2:length(j))'      msg = [msg ', ' deblank(Names(k,:))];    end    msg = sprintf('%s).', msg);    error('MATLAB:odeget:AmbiguousPropName', msg);  endendif any(strcmp(fieldnames(OPTIONS),deblank(Names(j,:))))  VAL = OPTIONS.(deblank(Names(j,:)));  if isempty(VAL)    VAL = default;  endelse  VAL = default;end% --------------------------------------------------------------------------function v = getknownfield(s, f, d)%GETKNOWNFIELD  Get field f from struct s, or else yield default d.if isfield(s,f)   % s could be empty.  v = subsref(s, struct('type','.','subs',f));  if isempty(v)    v = d;  endelse  v = d;end

⌨️ 快捷键说明

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