Logistic
混沌映射(序列)matlabmatlabmatlabmatlab 算法“小全”:Logistic
Logistic、HenonHenonHenonHenon、帐篷、kentkentkentkent(含
Logistic
混沌二值图像生成函数)
n=varargin{1};
key=varargin{2};
otherwise
key=0.600;
n=64;
end
N=n^2;
xn=zeros(1,N);
a=4;
x=key;
for k=1:20;
x=a*x*(1-x);%产生公式
end;
for k=1:N;
x=a*x*(1-x);
xn(k)=x;%一维矩阵记录迭代结果
end;
c=reshape(xn,n,n);%一维矩阵转换二维矩阵
d=zeros(n,n);
%二维混沌矩阵调制
for a1=1:n;
for a2=1:n;
if c(a1,a2)>=0.5;
d(a1,a2)=1;
else d(a1,a2)=0;
end;
end;
end;
% figure;title('logistic 映射');
% imshow(d);
ichao_ans=d;
1.1.1.1.Logistic
Logistic
Logistic
Logistic(罗切斯特)映射
x
x
)
=+
n
1n
ax
1(
n
变换核:
−
绘图程序:
n=64;
key=0.512;
an=linspace(3.1,3.99,400);
hold on;box on;axis([min(an),max(an),-1,2]);
N=n^2;
xn=zeros(1,N);
for a=an;
x=key;
for k=1:20;
x=a*x*(1-x);%产生公式
end;
for k=1:N;
x=a*x*(1-x);
xn(k)=x;
b(k,1)=x;%一维矩阵记录迭代结果
end;
plot(a*ones(1,N),xn,'k.','markersize',1);
end;
% figure;
% imhist(b)
实用混沌加密函数:
function ichao_ans=ichaos_logistic(varargin)
%logistic 序列生成算法
% 函数名:
% logistic 混沌序列生成函数
% 参数:
% (n,key),n 为矩阵阶数,key 为迭代初始值。
% (n),n 为矩阵阶数,key=0.600。
% ()或(n,key,...),n=64,key=0.600。
switch nargin;
case 1;
n=varargin{1};
key=0.600;
case 2 ;
2.Henon
2.Henon
2.Henon
2.Henon(埃农)映射
2
ax
n
y
x{
1
−+
=
n
1n
+
y
bx
=
n
n
1
+
)4.1,0(
a
∈
b
2.0
≤<
变换核:
绘图程序:
314.0
b=0.3;
N=400;
an=ones(1,N);
xn=zeros(1,N);
hold on;box on;
x=0;
y=0;
for a=0:0.001:1.4
for k=1:N;
xm=x;
ym=y;
x=ym+1-a*xm.*xm;
y=b*xm;
end
xn(1)=x;
for n=2:N;
xm=x;
ym=y;
x=ym+1-a*xm.*xm;
y=b*xm;
xn(n)=x;
end
plot(an*a,xn,'k.','markersize',1);
end
xlim([0,a]);
实用混沌加密函数:
function ichao_ans=ichaos_henon(varargin)
%埃农(Henon)映射
%0.2=0;
d(a1,a2)=1;
else d(a1,a2)=0;
end;
end;
end;
ichao_ans=d;
key=varargin{2};
otherwise
key=0.99;
n=64;
end
N=n^2;
xp=zeros(1,N);
x=key;
a=0.998;
for cir1=1:N;
x=a-(1+a)*abs(x);
end
for cir2=1:N;
x=a-(1+a)*abs(x);
xp(cir2)=x;
end
c=reshape(xp,n,n);%一维矩阵转换二维矩阵
d=zeros(n,n);
%二维混沌矩阵调制
for a1=1:n;
for a2=1:n;
if c(a1,a2)>=0;
d(a1,a2)=1;
else d(a1,a2)=0;
end;
end;
end;
% sum(sum(d))
ichao_ans=d;
% imshow(ichao_ans);
3.3.3.3.帐篷映射
变换核:
a
x
1(
+−=+
n
1
)1,0(∈a
xa
|)
n
|
绘图程序:
%帐篷映射
%0
4.kent
4.kent
4.kent
4.kent(肯特)映射
x
n
x
n
0,
1{
−=
a
x
n
a
1
−
ax
≤<
,
xa
1
≤<
绘图程序:
%肯特映射
n=20;
N=n^2;
xp=zeros(1,N);
Aa=ones(1,N);
x=0.36;
hold on;box on;
for a=0.01:0.001:0.5;
for cir1=1:N;
if x<=a;
x=x/a;
else
x=(1-x)/(1-a);
end
end
for cir3=1:N;
if x<=a;
x=x/a;
else
x=(1-x)/(1-a);
end
xp(cir3)=x;
end
plot(Aa*a,xp,'k.','markersize',1);
end
xlim([0,a]);
实用混沌加密函数:
function ichao_ans=ichaos_kent(varargin)
%0.1=0.5;
d(a1,a2)=1;
else d(a1,a2)=0;
end;
end;
end;
% sum(sum(d))
ichao_ans=d;
figure;
imshow(ichao_ans);