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

📄 df_derit.m

📁 这是国外用的研究分岔的完整的M程序
💻 M
字号:
function dtau=sys_dtau(delay_nr,xx,par,nx,np)% function dtau=sys_dtau(delay_nr,xx,par,nx,np)% INPUT:%       delay_nr delay number %	xx state variable and delayed state variables columnwise%	par list of parameter values%	nx empty or list of requested state-derivatives (numbers of delay or zero) %	np empty or list of requested parameter-derivatives % OUTPUT:%	dtau result of derivatives on delay function% COMMENT:%	the numerical derivatives are evaluated using forward differences% (c) DDE-BIFTOOL v. 2.00, 30/11/2001% first order derivative discretisation parameters:abs_eps_x1=1e-6;abs_eps_x2=1e-6;abs_eps_p1=1e-6;abs_eps_p2=1e-6;rel_eps_x1=1e-6;rel_eps_x2=1e-6;rel_eps_p1=1e-6;rel_eps_p2=1e-6;n=size(xx,1);dtau=[];% first order state derivatives:if length(nx)==1 & length(np)==0,  tau=sys_tau(delay_nr,xx,par);  for j=1:n    xx_eps=xx;    eps=abs_eps_x1+rel_eps_x1*abs(xx(j,nx+1));    xx_eps(j,nx+1)=xx(j,nx+1)+eps;    dtau(j)=(sys_tau(delay_nr,xx_eps,par)-tau)/eps;  end;% first order parameter derivatives:elseif length(nx)==0 & length(np)==1,  tau=sys_tau(delay_nr,xx,par);  par_eps=par;  eps=abs_eps_p1+rel_eps_p1*abs(par(np));  par_eps(np)=par(np)+eps;  dtau=(sys_tau(delay_nr,xx,par_eps)-tau)/eps;% second order state derivatives:elseif length(nx)==2 & length(np)==0,    dtau_init=(sys_dtau(delay_nr,xx,par,nx(1),[]))';  for j=1:n    xx_eps=xx;    eps=abs_eps_x2+rel_eps_x2*abs(xx(j,nx(2)+1));    xx_eps(j,nx(2)+1)=xx_eps(j,nx(2)+1)+eps;    dtau(:,j)=((sys_dtau(delay_nr,xx_eps,par,nx(1),[]))'-dtau_init)/eps;  end;% mixed state parameter derivatives:elseif length(nx)==1 & length(np)==1,  dtau=sys_dtau(delay_nr,xx,par,nx(1),[]);  par_eps=par;  eps=abs_eps_p2+rel_eps_p2*abs(par(np));  par_eps(np)=par(np)+eps;  dtau=(sys_dtau(delay_nr,xx,par_eps,nx(1),[])-dtau)/eps;end;if isempty(dtau)  [delay_nr nx np]  error('SYS_DTAU: requested derivative does not exist!');end;return;

⌨️ 快捷键说明

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