equil_find.m

来自「关于混沌系统的李氏指数计算等混沌系统中重要参数计算的代码」· M 代码 · 共 39 行

M
39
字号
function  [zres,fval,niter,code] = equil_find(t, z0)
global P;
% equil_eq - algebraic equations system solution f(x)=0 by
% Newton method
%
% t  -  time
% z0   - initial approximation 
% nmax - maximal number of iterations
% del  - accuracy of solution
% jac  - function for jacobian calcullation 
%        function A=jac(t,X)
%  Jacobian will calcullate numerically if jac is empty
%
% Example:
% [x,n]=equil_find(t,z0)

zres = z0';
niter=0;
nmax = 20;
code = 0;
del = sqrt(eps);

fval=feval('oderhs',t,zres,P);
while (norm(fval)>del) & (niter<=nmax)
   Jcb=feval('ode_jacob',t,zres,P); 
   if abs( det(Jcb) )<=eps
      code = 1;
      return;
   end;
   delta_it=-Jcb\fval;
   zres = zres + delta_it;
   fval=feval('oderhs',t,zres,P);
   niter=niter+1;
end;
if niter>nmax
   code = 2;
end;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?