# HG changeset patch # User Jaroslav Hajek # Date 1262465717 -3600 # Node ID dc88a0b6472c572c463494303f723ae5a8f9bb1f # Parent 44e889c67abe37ee1f0d72f1e4de04ac46e12581 support old style jacobian for fsolve diff --git a/scripts/ChangeLog b/scripts/ChangeLog --- a/scripts/ChangeLog +++ b/scripts/ChangeLog @@ -1,3 +1,7 @@ +2010-01-02 Jaroslav Hajek + + * optimization/fsolve.m: Support old style jacobian passing. + 2010-01-01 Jaroslav Hajek * set/powerset.m: New function. diff --git a/scripts/optimization/fsolve.m b/scripts/optimization/fsolve.m --- a/scripts/optimization/fsolve.m +++ b/scripts/optimization/fsolve.m @@ -136,6 +136,8 @@ if (ischar (fcn)) fcn = str2func (fcn, "global"); + elseif (iscell (fcn)) + fcn = @(x) make_fcn_jac (x, fcn{1}, fcn{2}); endif xsiz = size (x0); @@ -423,6 +425,13 @@ endif endfunction +function [fx, jx] = make_fcn_jac (x, fcn, fjac) + fx = fcn (x); + if (nargout == 2) + jx = fjac (x); + endif +endfunction + %!function retval = f (p) %! x = p(1); %! y = p(2);