Question
Use the matlab code box_count.m to compute the box counting dimension of the Henon map. Experiment with different values of length of time N and
Use the matlab code box_count.m to compute the box counting dimension of the Henon map. Experiment with different values of length of time N and number of subdivisions ellgrid. Which values do you trust most? Interpret what the poyfit command does and what changes when you change the list ind? Here use a=1.4 and b=0.3. Try values of b from 0 to 0.3 and describe how the dimension changes. Try to explain why this might happen (hint: think about the case b=0 and explain why the dimension in this case cannot be bigger than 1!) Adapt the code to compute the box_counting dimension for the skinny bakers map. What is the theoretical value? Inspect trajectories and explain what goes wrong. Fix this by adding 10^(-12)*randn to the y component.
box_count_matlab
close all clear all
% set parameters of Henon map, map is defined at the end of the code a=1.4; b=0.3;
% number of iterates to take N=1e6; % time series is stored here X=zeros(2,N); % random initial condition x=rand(2,1);
for j=1:N x=f(x,a,b); X(:,j)=x; end
X=(X+2*ones(2,N))/4; % normalize position vector to [0.1]^2
% 2^ell boxes in each direction ellgrid=7:13; K=(1:length(ellgrid)); Neps=zeros(length(ellgrid),1);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% for k=K % loop through how fine a box partitioning we have ell=ellgrid(k); % prepare boxes % go from -2 to 2 in steps of 2^-ell % attractor lies between -2 and 2 in both x and y directions box_plot=sparse(2^ell,2^ell); Y=1+floor(X*2^ell); for j=1:N box_plot(Y(1,j),Y(2,j))=1; end display(['finished summing partitioning ' num2str(k) ' out of ' num2str(K(end))]) Neps(k)=sum(box_plot,'all'); % count how many boxes we have visited end
ind=1:6; eps=4./2.^ellgrid';
figure(2) plot(-log2(eps),log2(Neps),'bo-') a=polyfit(-log2(eps(ind)),log2(Neps(ind)),1); hold on plot(-log2(eps(ind)),polyval(a,-log2(eps(ind))),'m.-') a(1) hold off % plot the results
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function F=f(x,a,b); F(1)=a-x(1)^2++b*x(2); F(2)=x(1); end
The other code is corr_dimension.m which computes the correlation dimension of the Henon map. Compare with the values from box-counting. Describe how large you can choose N and what happens if you choose small sizes of balls (why!?)!
corr_dimension.m
close all clear all
% set parameters of Henon map, map is defined at the end of the code a=1.4; b=0.3;
% number of iterates to take N=3e4; % time series is stored here X=zeros(2,N); % random initial condition x=rand(2,1);
ell=(1:7)'; eps=2.^(-ell);
for j=1:N x=f(x,a,b); X(:,j)=x; end
display('end of initial iteration, now computing matrix of distances') Dis=zeros(N,N); for m=1:N Dis(m,:)=sum(abs(X-circshift(X,m,2))); end
display('now finding distances less than eps') C2=zeros(length(ell),1); for l=ell' C2(l)=sum(Dis end ind=ell(1):ell(end);
figure(2) plot(log2(eps),log2(C2),'bo-') a=polyfit(log2(eps(ind)),log2(C2(ind)),1); hold on plot(log2(eps(ind)),polyval(a,log2(eps(ind))),'m.-') a(1) hold off
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function F=f(x,a,b); F(1)=a-x(1)^2++b*x(2); F(2)=x(1); end
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started