Logistic混沌映射函数:
x ( i + 1 ) = u ⋅ x ( i ) ⋅ [ 1 − x ( i ) ] , ( i = 0 , 1 , … , n ) x(i+1) = u · x(i) ·[1 - x(i)],(i=0,1,…,n) x(i+1)=u⋅x(i)⋅[1−x(i)],(i=0,1,…,n)
其中 0 ≤ x ( i ) ≤ 1 , u ≤ 4 0 \leq x(i) \leq1,u \leq4 0≤x(i)≤1,u≤4
clc,clear,close all;
x0 = 0.5;
u = 0:0.001:4; %自定义步长改变迭代次数
xn = ft_logistic(x0,length(u)-1,u);
function [yn] = ft_logistic(x0,num_len,u)
xn = x0;
for j = 1:num_len
u_i = u(j);
for i = 1:j
xn(i+1) = u_i*xn(i).*(1-xn(i));
end
plot(u_i,xn(j),'b.',"linewidth",1.2)
hold on
grid on
yn(1,j) = xn(j);
end
end
或将绘图函数移出循环速度更快:
clc,clear,close all;
x0 = 0.5;
u = 0:0.001:4; %自定义步长改变迭代次数
xn = ft_logistic(x0,length(u)-1,u);
plot(u(2:end),xn,'b.',"linewidth",1.2)
grid on
function [yn] = ft_logistic(x0,num_len,u)
xn = x0;
for j = 1:num_len
u_i = u(j);
for i = 1:j
xn(i+1) = u_i*xn(i).*(1-xn(i));
end
yn(1,j) = xn(j);
end
end