混沌映射(序列)matlab 算法“小全”:Logistic 、Henon 、帐篷、kent (含
混沌二值图像生成函数)
1.Logistic (罗切斯特)映射
变换核:
)
1(1n n n x ax x ?=+绘图程序:
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;
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;