1、混沌映射(序列)matlab算法“小全”:Logistic、Henon、帐篷、kent(含混沌二值图像生成函数) 1.Logistic(罗切斯特)映射 变换核: xn+1=axn(1−xn) 绘图程序: n=64; key=0.512; an=linspace(3.1,3.99,400); holdon;boxon;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*(
2、1-x); xn(k)=x; b(k,1)=x;%一维矩阵记录迭代结果 end; plot(a*ones(1,N),xn,'k.','markersize',1); end; %figure; %imhist(b) 实用混沌加密函数: functionichao_ans=ichaos_logistic(varargin) %logistic序列生成算法 %函数名: %logistic混沌序列生成函数 %参数: %(n,key),n为矩阵阶数,key为迭代初始值。 %(n),n为矩阵阶数,key=0.600。 %()或(n,key,...),n=64,key=0.
3、600。 Switch nargin; case1; n=varargin{1}; key=0.600; case2; 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
4、zeros(n,n); %二维混沌矩阵调制 For a1=1:n; For a2=1:n; ifc(a1,a2)>=0.5; d(a1,a2)=1; else d(a1,a2)=0; end; end; end; %figure;title('logistic映射'); %imshow(d); ichao_ans=d; 2.Henon(埃农)映射 +1=yn+1−ax变换核: { xynn2 n+1=bxn 绘图程序: a∈(0,1.4) 0.2
5、s(1,N); hold on;boxon; 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]); 实用混沌加密函数: functionichao_ans=ichaos_henon(varargin)
6、埃农(Henon)映射
%0.2 7、);
xn=zeros(1,N);
x=0;
y=0;
a=1.4;
forcir1=1:N;
xm=x;
ym=y;
x=ym+1-a*xm.*xm;
y=key*xm;
end
xn(1)=x;
for cir2=2:N;
xm=x;
ym=y;
x=ym+1-a*xm.*xm;
y=key*xm;
xn(cir2)=x;
end
c=reshape(xn,n,n);%一维矩阵转换二维矩阵
d=zeros(n,n);
%二维混沌矩阵调制
For a1=1:n;
For a2=1:n;
ifc(a1,a2)>=0;
d(a1,a2)=1;
8、else d(a1,a2)=0;
end;
end;
end;
ichao_ans=d;
第2 / 4页
3.帐篷映射
变换核:
xn+1=a−(1+a)|xn|
a∈(0,1)
绘图程序:
%帐篷映射
%0






