fractional discrete henon map

1 view (last 30 days)
sabrina
sabrina on 7 Jul 2025
Commented: sabrina on 29 Jul 2025
I’m currently working on the fractional Hénon map, but I’m facing difficulties in drawing the bifurcation diagrams correctly. I’m not sure how to implement the fractional order in the iteration process or which method is most suitable. I would really appreciate any guidance or examples you could provide.
  4 Comments
John D'Errico
John D'Errico on 29 Jul 2025
Note that you have now asked this exact same question 3 times. I closed the most recent one, as it asks or says nothing more than you have already asked twice before.

Sign in to comment.

Accepted Answer

Ruchika Parag
Ruchika Parag on 9 Jul 2025
Hi @sabrina, when working with a fractional-order Hénon map, the main challenge is incorporating the fractional dynamics into the iteration process. Unlike the standard map, a fractional map includes memory effects—each state depends not only on the immediate previous value, but also on the full history of the system.
To implement this, you'll need to modify your iteration using a fractional difference method. A common approach is the Grünwald–Letnikov approximation, which sums previous states using fractional binomial weights.
Here's a basic outline to get started:
1. Compute fractional weights: For fractional order q (e.g., 0.9), the Grünwald–Letnikov weights can be computed as:
q = 0.9;
N = 1000;
w = zeros(N,1);
for j = 0:N-1
w(j+1) = (-1)^j * nchoosek(q, j);
end
2. Iterate using history: During each iteration, calculate the weighted sum over past states:
x = zeros(N,1); y = zeros(N,1);
x(1) = x0; y(1) = y0;
for n = 1:N-1
sumx = w(1:n+1)' * x(n:-1:0+1);
sumy = w(1:n+1)' * y(n:-1:0+1);
x(n+1) = 1 - a * sumx.^2 + y(n); % adjust formula as needed
y(n+1) = b * x(n);
end
3. Build the bifurcation diagram: Vary your bifurcation parameter (e.g., a) and plot the final values after discarding transients:
for a = a_min : a_step : a_max
[x, y] = fractionalHenon(a, b, q, N); % assuming you wrap the above loop in a function
plot(a * ones(100,1), x(end-99:end), '.k'); hold on;
end
If you're looking for further references or ready-to-use methods, some of Garrappa’s work on fractional differential equations may help adapt logic for discrete maps as well.
Hope this helps!

More Answers (0)

Categories

Find more on Programming in Help Center and File Exchange

Products


Release

R2025a

Community Treasure Hunt

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

Start Hunting!