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

📄 nf_chm.m

📁 计算动力学系统的分岔图
💻 M
字号:
function coef = nf_CHm(mapsf,mapsJ,mapsH,mapsDer3,mapsDer4,mapsDer5,A,vext,wext,nphase,x1,p1,n)
%                 
% nf_CHm(mapsf,mapsJ,mapsH,mapsDer3,mapsDer4,mapsDer5,A,vext,wext,nphase,x1,p1,n)
% compute the nondegeneracy condition for a Chenciner bifurcation.
%
global cds T1global T2global T3global T4global T5global
  hessIncrement =(cds.options.Increment)^(3.0/4.0);
  ten3Increment =(cds.options.Increment)^(3.0/5.0);
  ten4Increment =(cds.options.Increment)^(3.0/6.0);
  ten5Increment =(cds.options.Increment)^(3.0/7.0);
  if (cds.options.SymDerivative >= 5)
    T1global=tens1(mapsf,mapsJ,x1,p1,n);
    T2global=tens2(mapsf,mapsH,x1,p1,n);
    T3global=tens3(mapsf,mapsDer3,x1,p1,n);
    T4global=tens4(mapsf,mapsDer4,x1,p1,n);
    T5global=tens5(mapsf,mapsDer5,x1,p1,n);
  end
  d1 = wext'*A*vext;										%this is the complex eigenvalue
  h20 = multilinear2(mapsf,vext,vext,x1,p1,n,hessIncrement);					%  B(q,q)
  h20 = (d1*d1*eye(nphase)-A)\h20;
  h11 = multilinear2(mapsf,vext,conj(vext),x1,p1,n,hessIncrement);				%   B(q,bar(q))
  h11 = (eye(nphase)-A)\h11;
  h30 = multilinear3(mapsf,vext,vext,vext,x1,p1,n,ten3Increment);				%   C(q,q,q)
  h30 = h30 + 3.0*multilinear2(mapsf,vext,h20,x1,p1,n,hessIncrement);				% +3B(q,h20)
  h30 = (d1*d1*d1*eye(nphase)-A)\h30;
  h21 = multilinear3(mapsf,vext,vext,conj(vext),x1,p1,n,ten3Increment);				%   C(q,q,bar(q))
  h21 = h21 + 2*multilinear2(mapsf,vext,h11,x1,p1,n,hessIncrement);				% +2B(q,h11)
  h21 = h21 + multilinear2(mapsf,conj(vext),h20,x1,p1,n,hessIncrement);				% + B(bar(q),h20)
  c1 = (wext'*h21)/2.0;
  h21 = [A-d1*eye(nphase) vext ; wext' 0]\[(wext'*h21)*vext - h21; 0];
  h21 = h21(1:nphase);
%----Fourth order terms------------------------------------------------
  h31 = multilinear4(mapsf,vext,vext,vext,conj(vext),x1,p1,n,ten4Increment);			%   D(q,q,q,bar(q))
  h31 = h31 + 3.0*multilinear3(mapsf,vext,conj(vext),h20,x1,p1,n,ten3Increment); 		% +3C(q,bar(q),h20)
  h31 = h31 + 3.0*multilinear3(mapsf,vext,vext,h11,x1,p1,n,ten3Increment); 			% +3C(q,q,h11)
  h31 = h31 + 3.0*multilinear2(mapsf,vext,h21,x1,p1,n,ten3Increment);  				% +3B(q,h21)
  h31 = h31 + 3.0*multilinear2(mapsf,h11,h20,x1,p1,n,hessIncrement);  				% +3B(h20,h11)
  h31 = h31 + multilinear2(mapsf,conj(vext),h30,x1,p1,n,hessIncrement);  			% + B(bar(q),h30)
  h31 = (d1*d1*eye(nphase)-A)\(h31-6*h20*c1*d1);
  h22 = multilinear4(mapsf,vext,vext,conj(vext),conj(vext),x1,p1,n,ten4Increment);		%   D(q,q,bar(q),bar(q))
  h22 = h22 + multilinear3(mapsf,vext,vext,conj(h20),x1,p1,n,ten3Increment);			% + C(q,q,h02)
  h22 = h22 + multilinear3(mapsf,conj(vext),conj(vext),h20,x1,p1,n,ten3Increment);		% + C(bar(q),bar(q),h20)
  h22 = h22 + 4.0*multilinear3(mapsf,vext,conj(vext),h11,x1,p1,n,ten3Increment); 		% +4C(q,bar(q),h11)
  h22 = h22 + multilinear2(mapsf,h20,conj(h20),x1,p1,n,hessIncrement);  			% + B(h20,h02)
  h22 = h22 + 2.0*multilinear2(mapsf,h11,h11,x1,p1,n,hessIncrement);  				% +2B(h11,h11) 
  h22 = h22 + 2.0*multilinear2(mapsf,conj(vext),h21,x1,p1,n,hessIncrement); 			% +2B(bar(q),h21)
  h22 = h22 + 2.0*multilinear2(mapsf,vext,conj(h21),x1,p1,n,hessIncrement); 			% +2B(q,h12)
  h22 = (eye(nphase)-A)\h22;
%----Fifth order terms-------------------------------------------------
  h32 = multilinear5(mapsf,vext,vext,vext,conj(vext),conj(vext),x1,p1,n,ten5Increment);		%   E(q,q,q,bar(q),bar(q))
  h32 = h32 + multilinear4(mapsf,vext,vext,vext,conj(h20),x1,p1,n,ten4Increment);		% + D(q,q,q,h02)
  h32 = h32 + 6.0*multilinear4(mapsf,vext,vext,conj(vext),h11,x1,p1,n,ten4Increment);		% +6D(q,q,bar(q),h11)
  h32 = h32 + 3.0*multilinear4(mapsf,vext,conj(vext),conj(vext),h20,x1,p1,n,ten4Increment);	% +3D(q,bar(q),bar(q),h20)
  h32 = h32 + 6.0*multilinear3(mapsf,h11,h11,vext,x1,p1,n,ten3Increment);  			% +6C(h11,h11,q)
  h32 = h32 + 6.0*multilinear3(mapsf,vext,conj(vext),h21,x1,p1,n,ten3Increment);		% +6C(q,bar(q),h21)
  h32 = h32 + 6.0*multilinear3(mapsf,conj(vext),h11,h20,x1,p1,n,ten3Increment);			% +6C(bar(q),h11,h20)
  
  h32 = h32 + 3.0*multilinear3(mapsf,vext,h20,conj(h20),x1,p1,n,ten3Increment);			% +3C(q,h20,h02)
  h32 = h32 + 3.0*multilinear3(mapsf,vext,vext,conj(h21),x1,p1,n,ten3Increment);		% +3C(q,q,h12)
  h32 = h32 + multilinear3(mapsf,conj(vext),conj(vext),h30,x1,p1,n,ten3Increment);		% + C(bar(q),bar(q),h30)
  h32 = h32 + 6.0*multilinear2(mapsf,h11,h21,x1,p1,n,hessIncrement);				% +6B(h11,h21)
  h32 = h32 + 3.0*multilinear2(mapsf,h20,conj(h21),x1,p1,n,hessIncrement);			% +3B(h20,h12)
  h32 = h32 + 3.0*multilinear2(mapsf,vext,h22,x1,p1,n,hessIncrement);				% +3B(q,h22)
  h32 = h32 + 2.0*multilinear2(mapsf,conj(vext),h31,x1,p1,n,hessIncrement);			% +2B(bar(q),h31)
  h32 = h32 + multilinear2(mapsf,conj(h20),h30,x1,p1,n,hessIncrement);	  % + B(h02,h30)
  c2 = (wext'*h32)/12.0;
  coef = conj(d1)*c2 - (conj(d1)*c1)^2/2; 
  
clear T1global T2global T3global T4global T5global

⌨️ 快捷键说明

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