diff --git a/MatlabFiles/csminwel.m b/MatlabFiles/csminwel.m index fd4c78f52ef948f1c46ebc80df794ee9cb90008d..2a954a802b4704c8ed833a8a6ca547b3ed75a0b5 100755 --- a/MatlabFiles/csminwel.m +++ b/MatlabFiles/csminwel.m @@ -40,7 +40,11 @@ snit=100; % tailstr=[ ',P' num2str(i) tailstr]; % stailstr=[' P' num2str(i) stailstr]; %end -f0 = eval([fcn '(x0,varargin{:})']); +if ischar(fcn) + f0 = eval([fcn '(x0,varargin{:})']); +else + f0 = fcn(x0,varargin{:}); +end %ARGLIST %f0 = feval(fcn,x0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13); % disp('first fcn in csminwel.m ----------------') % Jinill on 9/5/95 diff --git a/MatlabFiles/numgradcd.m b/MatlabFiles/numgradcd.m index a7b6439b32a7270189240468e5668df454130d50..b922e97450231593476969233c7cfdd676563516 100755 --- a/MatlabFiles/numgradcd.m +++ b/MatlabFiles/numgradcd.m @@ -26,7 +26,11 @@ x0 = x0(:); %for i=nargin-3:-1:1 % tailstr=[ ',P' num2str(i) tailstr]; %end -f0 = eval([fcn '(x0,varargin{:})']); +if ischar(fcn) + f0 = eval([fcn '(x0,varargin{:})']); +else + f0 = fcn(x0,varargin{:}); +end %f0 = eval([fcn '(x0' tailstr]); % ** initializations @@ -60,8 +64,15 @@ badg=0; i = 0; while i ~= n i = i+1; - fp = eval([fcn '(argplus(:,i),varargin{:})']); - fm = eval([fcn '(argminus(:,i),varargin{:})']); + if ischar(fcn) + + fp = eval([fcn '(argplus(:,i),varargin{:})']); + fm = eval([fcn '(argminus(:,i),varargin{:})']); + else + + fp = fcn(argplus(:,i),varargin{:}); + fm = fcn(argminus(:,i),varargin{:}); + end % fp = eval([fcn '(argplus(:,i)' tailstr]); % fm = eval([fcn '(argminus(:,i)' tailstr]); g0 = fp - fm;