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

📄 henonfinal.m

📁 混沌系统需要的各种仿真程序,希望对大家(特别是初学者)有用.
💻 M
字号:
function Henonfinal

m=1024

x(1)=1;
y(1)=1;

for i=1:m-1
   x(i+1)=y(i)+1-1.4*x(i)*x(i);
   y(i+1)=0.3*x(i);
end

w=[x;y];  % 取x,y所有元素作为新数组的元素
q=zeros(2,1); % 分配空间
% leth=length(x);

for k=1:2
  a=w(k,:); % 取数组w中k行的所有元素
%   num=zeros(m,0); %存放各个exhausting history中的comment的长度
%    for i=1:m
%      num(i)=0
%    end;

   meana=mean(a);
 
 for n=1:m             %以0为界量化为0,1序列y(n)
    if(x(n)>meana|y(n)>meana)
        a(n)=1;
    else
        a(n)=0;
    end;
 end;     

 leth=length(a)
%  num=zeros(leth,1); %存放各个exhausting history中的comment的长度
 
 t=2;

 n=length(a);        % n为矩阵a的长度
 e=0;                % e为步长,先清零
 p=1;                % p为指针
 if a(2)==a(1)
    e=e+1;
    p=p+1;
    num(1)=1;        % 前两个数的比较,相同则是表示断点在1;
 else
    e=e+1;
    p=p+2;
    num(1)=2;
 end;                  %  前两个数的比较,不同则是表示断点在2;

 while p<n
    ps=p;    % ps为指针
    el=0;    % 一次小循环内每次比较两数组值后所得exhausting history长度;穷尽步长
    emax=0;  % 寻找一个exhausting history中所有el的最大值;最长步长的字数
    pmax=0;  
    for i=1:ps-1
         j=i;
         while(a(j)==a(p)) % 作比较,逻辑比较
             j=j+1;        
             p=p+1;         
             el=el+1; 
             if p==n       % 逻辑比较
                 p=p-1;
                 break;
             end;
         end;
                          
         if p>=pmax
             pmax=p;
         end;
         el=0;    
         p=ps;
     end;
     
     num(t)=pmax+1-ps;
     t=t+1;
    p=pmax+1;
   e=e+1;
 end;

 if p==n
    e=e+1;
    num(t)=1
 end;
 
 s=0;                   % s为熵,并清零;
 for i=1:t               % k为断点的个数;
     P(i)=num(i)/leth;      % num为元素个数,leth为数组长度;
     s=s-P(i)*log2(P(i));   % 熵的计算公式   
 end
 q(k)=s;
 
end

disp('entropy x=   y=');
disp(q);
% disp(e);

⌨️ 快捷键说明

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