Numerical Stability Analysis of the Logistic Map

Introduction to Discrete Dynamical Systems Simulation

This study focuses on computing numerical solutions for logistic differential equations to examine the stability of equilibrium points. Using computational tools, we investigate how varying growth parameters influence system behavior, ranging from stable fixed points to chaotic oscillations.

  1. Defining the Mathematical Model

The core of this analysis is the logistic map equation, typically expressed as:

x_{k+1} = r \cdot x_k \cdot (1 - x_k)

To begin, we establish a function handle representing this iteration. We will test multiple growth rate scenarios simultaneously.

MATLAB Implementation for Time-Series Evolution

% Define the logistic recurrence relation
recurrence_map = @(x, rate) rate .* x .* (1 - x);

% Set parameter vector (growth rates) and initial state
growth_rates = [1.7, 2.6, 3.3, 3.45, 3.55, 3.57];
time_steps = 100;
initial_condition = 0.2;

% Initialize trajectory matrix
num_scenarios = length(growth_rates);
trajectories = zeros(time_steps + 1, num_scenarios);

% Set initial values
trajectories(1, :) = initial_condition;

% Iterate through time
for idx = 1:num_scenarios
    current_rate = growth_rates(idx);
    for t = 1:time_steps
        trajectories(t+1, idx) = recurrence_map(trajectories(t, idx), current_rate);
    end
end

% Plotting the convergence/divergence patterns
figure;
hold on;
time_vector = 0:time_steps;
colors = lines(num_scenarios); % Distinct colors for each parameter

for i = 1:num_scenarios
    plot(time_vector, trajectories(:, i), 'Color', colors(i, :), ...
         'DisplayName', sprintf('r = %.2f', growth_rates(i)));
end

xlabel('Time Step (k)');
ylabel('Population State (x)');
title('Logistic Map Trajectories Under Varying Growth Rates');
legend('Location', 'best');
grid on;
hold off;
  1. Visualizing Fixed Points via Cobweb Plots

To understand the stability of equilibrium points, cobweb diagrams provide geometric insight into the iteration process. These plots trace the interaction between the function curve $y = f(x)$ and the diagonal line $y = x$.

Implementation of Cobweb Visualization

% Configuration for a single scenario demonstration
target_r = 2.9; 
x_val = 0.2;
max_iterations = 20;
plot_coords = zeros(2 * max_iterations + 1, 2);

% Pre-calculate coordinates for plotting
current_x = x_val;
idx = 1;
plot_coords(idx, 1) = current_x; 
plot_coords(idx, 2) = 0; 

for iter = 1:max_iterations
    next_y = recurrence_map(current_x, target_r);
    
    % Horizontal move to diagonal
    idx = idx + 1;
    plot_coords(idx, 1) = current_x;
    plot_coords(idx, 2) = next_y;
    
    % Vertical move to diagonal line y=x
    idx = idx + 1;
    plot_coords(idx, 1) = next_y;
    plot_coords(idx, 2) = next_y;
    
    current_x = next_y;
end

% Render the Cobweb Graph
figure;
fplot(@(x) recurrence_map(x, target_r), [0, 1], 'LineWidth', 1.5);
hold on;
fplot(@(x) x, [0, 1], '--k'); % Identity line

% Draw the trajectory path
plot(plot_coords(:, 1), plot_coords(:, 2), '-r', 'LineWidth', 1);
axis square;
xlim([0, 1]); ylim([0, 1]);
title(sprintf('Cobweb Plot for r = %.2f', target_r));
xlabel('x(k)'); ylabel('x(k+1)');
hold off;
  1. Generating the Bifurcation Diagram

A bifurcation diagram illustrates the asymptotic behavior of the map as the parameter $r$ increases. This reveals period-doubling cascades leading to chaos.

Algorithm for Parameter Space Mapping

r_range = linspace(2.5, 4.0, 1500); % Range covering stability to chaos
transient_skip = 200;
steady_state_keep = 50;

bifurcation_points_x = [];
bifurcation_points_r = [];

for k = 1:length(r_range)
    r_current = r_range(k);
    x_curr = 0.5; % Random seed
    
    % Discard transient behavior
    for m = 1:transient_skip
        x_curr = recurrence_map(x_curr, r_current);
    end
    
    % Collect steady-state values
    for n = 1:steady_state_keep
        x_curr = recurrence_map(x_curr, r_current);
        bifurcation_points_r = [bifurcation_points_r; r_current];
        bifurcation_points_x = [bifurcation_points_x; x_curr];
    end
end

% Display Result
figure();
plot(bifurcation_points_r, bifurcation_points_x, '.k', 'MarkerSize', 1);
xlabel('Growth Rate (r)');
ylabel('Steady State (x)');
title('Bifurcation Diagram of the Logistic Map');
grid on;

Summary of Evolutionary Characteristics

The simulations demonstrate distinct evolutionary phases. Low growth rates yield stable equilibrium points. As the parameter exceeds specific thresholds, the system undergoes period-doubling bifurcations, eventually entering a chaotic regime where long-term prediction becomes impossible.

Tags: MATLAB logistic-map dynamical-systems bifurcation-analysis numerical-methods

Posted on Thu, 29 Oct 2026 16:38:33 +0000 by DRTechie