X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=octave_packages%2Foptim-1.2.0%2Fdfpdp.m;fp=octave_packages%2Foptim-1.2.0%2Fdfpdp.m;h=e13124dbd28d6642469f55fd23af6d1277ade2d8;hb=c880e8788dfc484bf23ce13fa2787f2c6bca4863;hp=0000000000000000000000000000000000000000;hpb=1705066eceaaea976f010f669ce8e972f3734b05;p=CreaPhase.git diff --git a/octave_packages/optim-1.2.0/dfpdp.m b/octave_packages/optim-1.2.0/dfpdp.m new file mode 100644 index 0000000..e13124d --- /dev/null +++ b/octave_packages/optim-1.2.0/dfpdp.m @@ -0,0 +1,50 @@ +%% Copyright (C) 2010, 2011 Olaf Till +%% +%% 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 3 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, see . + +%% function jac = dfpdp (p, func[, hook]) +%% +%% Returns Jacobian of func (p) with respect to p with finite +%% differencing. The optional argument hook is a structure which can +%% contain the following fields at the moment: +%% +%% hook.f: value of func(p) for p as given in the arguments +%% +%% hook.diffp: positive vector of fractional steps from given p in +%% finite differencing (actual steps may be smaller if bounds are +%% given). The default is .001 * ones (size (p)). +%% +%% hook.diff_onesided: logical vector, indexing elements of p for +%% which only one-sided differences should be computed (faster); even +%% if not one-sided, differences might not be exactly central if +%% bounds are given. The default is false (size (p)). +%% +%% hook.fixed: logical vector, indexing elements of p for which zero +%% should be returned instead of the guessed partial derivatives +%% (useful in optimization if some parameters are not optimized, but +%% are 'fixed'). +%% +%% hook.lbound, hook.ubound: vectors of lower and upper parameter +%% bounds (or -Inf or +Inf, respectively) to be respected in finite +%% differencing. The consistency of bounds is not checked. + +function ret = dfpdp (varargin) + + %% This is an interface to __dfdp__.m. + + if (ischar (varargin{2})) + varargin{2} = str2func (varargin{2}); + end + + ret = __dfdp__ (varargin{:});