Can't plot henon map with certain initial conditions (code works for other conditions),

12 visualizzazioni (ultimi 30 giorni)
I've created a function to plot Henon map, it works when a=1.4, b=0.3, x0=0, y0=0 and n=10,000. But it doesnt work when a=1.7, b=0.5, x0=0.1, y0=0.1 and n=10,000. I checked the workspace to see the results of x, y and I found that for the the second condition, both x and y becomes -Inf after about only 20 iterations. Can anybody help me with this issue? Lots of thanks!
Below is the code:
function [ x, y ] = Henon( a, b, x0, y0, n )
format long e;
x = zeros( n, 1 );
x(1) = x0;
y = zeros( n, 1 );
y(1) = y0;
for i = 1 : n-1
x(i+1) = 1 + y(i) - a*(x(i)^2);
y(i+1) = b*x(i);
end
figure(2)
plot( x, y );
xlabel( 'x' );
ylabel( 'y' );
title( ['Henon Map (iterations=' num2str(n) ')']);
end

Risposte (1)

Subhadeep Koley
Subhadeep Koley il 30 Ott 2019
I assume that you are referring to this [1] paper for creating Henon Map. The paper says, for a < 0.122500 or a > 1.55 for b = 0.3, the points always escape to infinity: apparently there exists no attractor in those cases [1]. Only for
0.122500 < a <1.55 depending on the initial values (x0, y0) either the points escape to infinity or they converge towards an attractor. Therefore, the authors adopted a = 1.4, b = 0.3 experimentally.
I think this is the reason why x and y shoots down to -Inf for a = 1.7, b = 0.5.
[1] Hénon, M. A two-dimensional mapping with a strange attractor. Comm. Math. Phys. 50 (1976), no. 1, 69--77.

Tag

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by