⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 contjac.m

📁 计算动力学系统的分岔图
💻 M
字号:
function jac = contjac(x)
%
%  jacobian(x)
%
%    Calculates jacobian matrix of F(x), which is to be found in curve file, which is global

global cds

if nargin ~= 1 
  error('contjac needs a point');
end
if ~isempty(cds.pJacX)
  if x == cds.pJacX
    jac = cds.pJac;
    return;
  end
end
try
    symjac  = cds.symjac;
catch symjac=0;end
if symjac
%if cds.options.SymDerivative >=1
  jac =  feval(cds.curve_jacobian, x);
else
  x1 = x;
  x2 = x;
  % WM: mmm... is this really needed?
  jac = ones(cds.ndim-1,cds.ndim)*NaN;

  for j=1:cds.ndim  %cols
    x1(j) = x(j) - cds.options.Increment;
    x2(j) = x(j) + cds.options.Increment;
    % WM: Removed temporary result variables
    jac(:,j) = feval(cds.curve_func, x2)-feval(cds.curve_func, x1);
 
    x1(j) = x(j);
    x2(j) = x(j);
  end

  % WM: Moved out of loop
  jac = jac/(2*cds.options.Increment);
end
cds.pJac = jac;
cds.pJacX = x;


%SD:calculates jacobian

⌨️ 快捷键说明

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