Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- % Copyright (C) 2008 Jaroslav Hajek
- % Copyright (C) 2009 VZLU Prague
- %
- % This file is part of Octave.
- %
- % Octave 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 3 of the License, or (at
- % your option) any later version.
- %
- % Octave 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 Octave; see the file COPYING. If not, see
- % <http://www.gnu.org/licenses/>.
- % -*- texinfo -*-
- % @deftypefn {Function File} {} optimget (@var{options}, @var{parname})
- % @deftypefnx {Function File} {} optimget (@var{options}, @var{parname}, @var{default})
- % Return a specific option from a structure created by
- % @code{optimset}. If @var{parname} is not a field of the @var{options}
- % structure, return @var{default} if supplied, otherwise return an
- % empty matrix.
- % @end deftypefn
- function retval = optimget (options, parname, default)
- if (nargin < 2 || nargin > 4 || ~ isstruct (options) || ~ ischar (parname))
- print_usage ();
- end
- % opts = all_opts__ ();
- opts = { 'ComplexEqn', 'FinDiffType', 'FunValCheck', 'GradObj', 'Jacobian', 'MaxFunEvals', 'MaxIter', 'OutputFcn', 'TolFun', 'TolX', 'Updating' };
- idx = lookup (opts, parname, 'i');
- if (idx > 0 && strcmpi (parname, opts{idx}))
- parname = opts{idx};
- else
- warning ('unrecognized option: %s', parname);
- end
- if (isfield (options, parname))
- retval = options.(parname);
- elseif (nargin > 2)
- retval = default;
- else
- retval = [];
- end
- end
- function idx = lookup( opts, parname, caseq )
- if ( strcmp('caseq','i') )
- for i = 1:length(opts)
- if ( strcmpi(opts{i},parname) )
- idx = i;
- return;
- end
- end
- else
- for i = 1:length(opts)
- if ( strcmp(opts{i},parname) )
- idx = i;
- return;
- end
- end
- end
- idx = -1;
- return;
- end
Advertisement
Add Comment
Please, Sign In to add comment