Added trap for complex residuals and jacobian in nonlinear solver.

time-shift
Stéphane Adjemian (Scylla) 2017-09-29 10:19:13 +02:00
parent 05d8058d57
commit b429a23852
1 changed files with 3 additions and 1 deletions

View File

@ -76,7 +76,9 @@ end
if jacobian_flag
[fvec, fjac] = feval(func, x, varargin{:});
wrong_initial_guess_flag = false;
if ~all(isfinite(fvec)) || any(isinf(fjac(:))) || any(isnan((fjac(:))))
if ~all(isfinite(fvec)) || any(isinf(fjac(:))) || any(isnan((fjac(:)))) ...
|| any(~isreal(fvec)) || any(~isreal(fjac(:)))
disp('Randomize initial guess...')
% Let's try random numbers for the variables initialized with the default value.
wrong_initial_guess_flag = true;
% First try with positive numbers.