logo资料库

混沌映射(序列)matlab算法“小全.pdf

第1页 / 共4页
第2页 / 共4页
第3页 / 共4页
第4页 / 共4页
资料共4页,全文预览结束
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);
分享到:
收藏