v4 dynare_solve.m solve1.m: bug corrections
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@812 ac1d8469-bf42-47a9-8791-bf33cf982152time-shift
parent
5edb7d1d00
commit
b6e1fef911
|
@ -14,7 +14,7 @@ function [x,cheik] = dynare_solve(func,x,jacobian_flag,varargin)
|
|||
if jacobian_flag
|
||||
options.Jacobian = 'on';
|
||||
else
|
||||
options.Jacobian = 'on';
|
||||
options.Jacobian = 'off';
|
||||
end
|
||||
[x,fval,exitval,output] = fsolve(func,x,options,varargin{:});
|
||||
if exitval > 0
|
||||
|
|
|
@ -39,8 +39,9 @@ function [x,check] = solve1(func,x,j1,j2,jacobian_flag,varargin)
|
|||
for its = 1:maxit
|
||||
if jacobian_flag
|
||||
[fvec,fjac] = feval(func,x,varargin{:});
|
||||
fvec = fvec(j1);
|
||||
fjac = fjac(j1,j2);
|
||||
else
|
||||
fvec = feval(func,x,varargin{:});
|
||||
dh = max(abs(x(j2)),options_.gstep*ones(nn,1))*eps^(1/3);
|
||||
|
||||
for j = 1:nn
|
||||
|
@ -51,8 +52,7 @@ function [x,check] = solve1(func,x,j1,j2,jacobian_flag,varargin)
|
|||
g(j) = fvec'*fjac(:,j) ;
|
||||
end
|
||||
end
|
||||
fvec = fvec(j1);
|
||||
fjac = fjac(j1,j2);
|
||||
|
||||
g = (fvec'*fjac)';
|
||||
if options_.debug
|
||||
disp(['cond(fjac) ' num2str(cond(fjac))])
|
||||
|
|
Loading…
Reference in New Issue