混沌映射MATLAB仿真
logistic-tent混沌映射的matlab程序 -回复

logistic-tent混沌映射的matlab程序-回复您好,以下是关于混沌映射和其在MATLAB中的程序的文章:混沌映射在数学和计算机科学领域中起着重要的作用,它是一种非线性的、不可预测的动态系统。
混沌映射是一类具有确定的演化规律但表现出随机性的非线性映射。
其中一种经典的混沌映射被称为logistictent混沌映射。
在此文章中,我们将详细介绍logistictent混沌映射,并提供一个MATLAB程序,用于生成并可视化该混沌映射。
首先,我们需要理解logistictent映射的定义。
logistictent函数是一种确定性的映射,它使用非线性递归方程来生成混沌序列。
该映射定义如下:X(n+1) = r * X(n) * (1 - X(n))其中,X(n)是当前的输入值,X(n+1)是下一个值,r是一个常数,被称为混沌参数。
通过不同的初始条件和不同的混沌参数,我们可以获得不同的混沌序列。
接下来,我们将使用MATLAB来编写一个程序,用于生成并可视化logistictent混沌映射。
首先,我们需要定义一些初始条件和参数。
定义初始条件和参数X(1) = 0.5; 初始值r = 3.8; 混沌参数N = 1000; 生成的混沌序列的长度现在,我们可以使用一个循环来计算混沌序列。
在每个循环迭代中,我们使用logistictent方程计算下一个值,并将其存储在一个向量中。
计算混沌序列for n = 1:N-1X(n+1) = r * X(n) * (1 - X(n));end此时,我们已经生成了一个包含N个混沌变量的向量。
接下来,我们可以使用MATLAB的绘图功能将生成的混沌序列可视化。
绘制混沌序列plot(X)xlabel('n') x轴标签为迭代次数ylabel('X') y轴标签为混沌变量title('Logistic Tent混沌序列') 图表标题运行以上代码后,MATLAB将绘制logistictent混沌序列的图表。
tent映射matlab程序

tent映射matlab程序一、IntroductionTent映射是一个多项式映射,常被用于描述混沌系统。
这种映射最初被提出用于模拟一维物理过程中电子的经过。
Tent映射在计算机科学中也有广泛应用,比如重要性采样,随机游走等。
在本文中,我们将介绍如何在MATLAB中实现Tent映射的程序,并且解释如何使用这个程序。
我们将从Tent映射的基本信息开始,接着讨论如何在MATLAB中实现这个程序,并且最后通过一些实例来体验Tent映射的实际应用。
二、Tent映射的基本知识1、Tent映射的定义Tent映射是一个将区间[0,1)映射到区间[0,1)上的映射函数。
它可以表示为以下公式:$$x_{n+1}=\begin{cases} \alpha x_n,& \text{x} \in [0,\frac{1}{2})\\ \alpha (1-x_n),& \text{x} \in [\frac{1}{2},1) \end{cases}$$其中, $\alpha$ 是一个常数, $x_n$ 是第n次迭代之后的输出。
在Tent映射中, $x_n$ 的时间变化与$\alpha$ 有关。
通常情况下,$0\leq \alpha \leq 2$。
2、在执行经典混沌运动时的应用在平常情况下,Tent映射在经典混沌运动中被广泛应用。
通过这个程序模拟混沌过程,可以分析混沌过程的性质,并且预测它们的行为和演化。
3、函数的性质Tent映射中不同的参数会导致不同的输出结果,这使得程序在真实世界的复杂系统中使用需要一定的技巧和代码优化来保持程序的速度和精确度。
其他的一些Tent映射的重要性质包括:1. 展开性质。
Tent映射的$n$次迭代是一个二元函数,与$\alpha$和初始条件$x_0$相关。
2. 混沌性。
当$\alpha$取一些特定的值,Tent映射表现出混沌的状态。
3. Feigenbaum常数对于非定值的$\alpha$,Tent映射的大小规律由Feigenbaum常数给出:每个Feigenbaum常数对应于一个新的周期解。
PWM Boost变换器不同工作方式下的混沌现象的Matlab仿真

PWM Boost变换器不同工作方式下的混沌现象的Matlab仿真1 绪论一支点燃的香烟,在平稳的气流中缓缓升起一缕青烟,突然卷曲成一团团剧烈扰动的烟雾,向四方飘散;一个风和日丽的夏天,突然风起云涌,来了一场暴风雨;一面旗帜在风中飘扬,一片秋叶从树上落下,它们都在作混沌运动。
可见混沌始终环绕在我们周围,一直与人类为伴。
从科学的角度来看混沌具有普遍性。
混沌是非线性动力学系统所特有的一种运动形式,它广泛地存在于自然界,诸如物理,化学,生物学,地质学以及技术科学、社会科学等各种科学领域。
传统科学所定义的世界几乎具有柏拉图式的纯净性。
人们始终相信,自然界是规则、和谐、有序的,自然现象的变化是周期的、重复的,这甚至成为一切科学的基础。
从数学上讲,对于确定的初始值,由动力学系统就可以推知该系统长期行为甚至追溯其过去形态。
但在20世纪60年代,美国气象学家Lorenz在研究大气时发现,当选取一定参数的时候,一个由确定的三阶常微分方程组描述的大气对流模型,变得不可预测了,这就是有趣的“蝴蝶效应”。
在研究的过程中,Lorenz观察到了这个确定性系统的规则行为,同时也发现了同一系统出现的非周期无规则行为。
他说:“描述细胞对流的简单系统可用数值方法求解。
发现所有的解都不稳定。
几乎所有的解都是非周期解。
”洛仑兹看到了天气预报难就难在天气变化不是周期性的。
非周期性正是混沌运动的根本特征,通过长期反复地数值试验和理论思考,Lorenz揭示了该结果的真实意义,在耗散系统中首先发现了混沌运动。
这为以后的混沌研究开辟了道路。
郝柏林用它来给混沌下定义,他说:“混沌绝不是简单的无序,而更象是不具备周期性和其他明显对称特征的有序态。
”。
混沌运动的非周期性这一发现触及了认识论的根本问题。
混沌是否可认识?一些科学家的确给出了否定的回答。
1984年,Vidal C说,由于初始条件的敏感依赖性,“科学再次看到了自己的局限性”,因为敏感依赖性“使我们不能预见动力学系统的未来,不管我们怎么努力。
混沌信号的产生 matlab

混沌信号的产生及其在Matlab中的实现一、混沌信号的概念与特点混沌是一种在确定性系统中表现出的随机、不可预测的行为。
混沌系统具有以下几个显著特征:1. 灵敏依赖于初值:在混沌系统中,微小的初值变化会导致系统行为的巨大变化,这就是所谓的“蝴蝶效应”。
2. 随机性和周期性:混沌系统表现出随机性和周期性的叠加,使得系统的行为呈现出复杂的、看似无序的特征。
3. 分形结构:混沌系统的轨迹具有分形结构,表现出自相似性和自组织性。
二、混沌信号的产生原理混沌信号的产生通常基于非线性动力系统模型,其中最经典的混沌系统包括 Logistic 映射、Henon 映射等。
混沌信号的产生一般遵循以下步骤:1. 选择合适的混沌系统模型,比如 Logistic 映射:$x_{n+1} =rx_n(1-x_n)$。
2. 选择初值和模型参数,并设定迭代次数。
3. 进行迭代计算,得到混沌信号的时域序列。
三、Matlab 中的混沌信号生成Matlab 是一种强大的科学计算软件,提供了丰富的工具箱和函数,使得混沌信号的产生和分析变得非常简单。
在Matlab 中,可以通过以下几种方法产生混沌信号:1. 直接求解微分方程:利用ode45函数求解混沌系统的微分方程,得到混沌时域序列。
2. 迭代计算:利用for循环结构进行模型的迭代计算,得到混沌信号的时域序列。
3. 利用现成的工具箱:Matlab 提供了一些专门用于产生混沌信号的工具箱,比如 ChaosBox。
四、示例代码以下是一个利用 Logistic 映射产生混沌信号的示例代码:```matlabLogistic 映射参数r = 3.9;时域序列长度N = 1000;初值x0 = 0.1;初始化时域序列x = zeros(1, N);x(1) = x0;迭代计算for i = 1:N-1x(i+1) = r * x(i) * (1 - x(i));end绘制混沌信号时域图plot(x);xlabel('时域');ylabel('信号幅值');title('Logistic 映射产生的混沌信号');```五、混沌信号的应用混沌信号作为一种具有随机性和周期性的信号,具有广泛的应用价值,包括但不限于:1. 加密通信:混沌信号可用于加密通信系统中的信息传输,利用混沌的随机特性可以提高数据的安全性。
circle混沌映射 matlab

circle混沌映射 matlab
圆形混沌映射是一种非线性动力学系统,它以其无序和复杂性而引起了人们的广泛关注。
在这个系统中,圆形映射的行为是不可预测的,这使得它成为一个有趣的研究对象。
圆形混沌映射的基本概念是通过迭代计算来生成一系列的数值。
这个过程涉及到一个圆形映射函数,它将输入值映射到输出值。
通过不断迭代这个映射函数,我们可以得到一个序列,这个序列的特点是非线性和不可预测的。
在MATLAB中,我们可以通过编写代码来模拟和可视化圆形混沌映射。
首先,我们需要定义一个圆形映射函数。
这个函数将输入值映射到输出值,具体的映射规则可以根据具体的需求进行定义。
然后,我们可以使用一个循环结构来迭代这个映射函数。
在每一次迭代中,我们将当前的输入值作为下一次迭代的输入,并将计算得到的输出值保存起来。
通过不断迭代,我们可以得到一个序列,这个序列展示了圆形混沌映射的行为。
我们可以使用MATLAB的绘图功能来可视化这个序列。
通过绘制序列的值随时间变化的曲线,我们可以观察到混沌的特性,例如无序、不可预测和随机性。
需要注意的是,在模拟和可视化圆形混沌映射时,我们应该避免依赖于网络地址或图像。
我们可以使用MATLAB的内置函数和工具来完
成这个任务,而不依赖于外部资源。
圆形混沌映射是一个有趣且复杂的非线性系统,它具有无序和不可预测的特性。
通过在MATLAB中模拟和可视化这个系统,我们可以更好地理解和研究混沌现象。
希望通过这篇文章的描述,读者能够对圆形混沌映射有一个清晰的认识,并对其在实际应用中的潜力有所启发。
各类混沌的matlab程序实现

混沌同步模型驱动系统和响应系统都是Lorenz System,只不过初值不同。
驱动系统: dx/dt=a*(y-x)dy/dt=r*x-y-xzdz/dt=x*y-b*z初值(0.1,0.1,0.1)输出信号令S(t)=x(t)响应系统:将S(t)代替x(t)作为激励信号dx/dt=a*(y-x)dy/dt=r*x-y-xzdz/dt=x*y-b*z初值(0.1,0.1,1)最后求响应系统的输出x(t),y(t),z(t)程序:function [Y1] = Lorenz_response(tspan);%%计算处于响应地位的Lorenz系统的数值解,并由此画出其相图yinit = [0.1,0.1,1];% 初始化输入y(1:3) = yinit;tstart = 0; % 时间初始值tstep = 1e-1; % 时间步长wholetimes = 1e2; % 总的循环次数steps = 1; % 每次演化的步数iteratetimes = wholetimes/steps; % 演化的次数S=output;for i=1:iteratetimes;tspan = tstart:tstep:(tstart + tstep*steps);[T,Y1] = ode45(@Lorenz_driven, tspan, y);y = Y1(size(Y1,1),:);y(1)=S(i,1);% 重新定义起始时刻tstart = tstart + tstep*steps;endfigure(1)plot3(Y1(:,1),Y1(:,2),Y1(:,3))function s=output;tstart = 0; % 时间初始值tstep = 1e-1; % 时间步长wholetimes = 1e2; % 总的循环次数% options = odeset('RelTol',1e-4,'AbsTol',[1e-4 1e-4 1e-5]);tspan=tstart:tstep:wholetimes*tstep[T,Y] = ode45(@Lorenz_driven,tspan,[0.1 0.1 0.1]);s=Yfigure(3)plot3(Y(:,1),Y(:,2),Y(:,3))function dY=Lorenz_driven(t,Y);a=10;b=8/3;r=60;dY=zeros(3,1);dY=[a*(Y(2)-Y(1));-Y(1)*Y(3)+r*Y(1)-Y(2);Y(1)*Y(2)-b*Y(3)]MatLab常微分方程及常微分方程组的求解(2011-07-08 23:01:48)转载▼分类:编程之Matlab标签:杂谈最近参加了数学建模,对于老师说的Euler算法的不同步长的精度不一样,编写了一个M 函数文件来实现这个精度的比较,把函数附上:function [x,y]= Euler(varargin)%这里使用可变输出输入函数的%varargin{1}为求解常微分方程的表达式%varargin{2}为求解常微分方程的定解条件%需要给出的变量有常微分方程的范围a,b(varargin{3},varargin{4})%n为对这个区间的分割(varargin{5})%xlt写于7月8日%取得算法需要的变量,并附上容易理解的含义变量a = varargin{3};b = varargin{4};%自变量的范围n = varargin{5};%区间的分割次数h = (b - a)/n;%步长Dy = varargin{1}; %常微分方程的表达式y0 = varargin{2}; %常微分方程的定解条件表达式%首先求出所给常微分方程问题的精确解x1 = zeros(n+1,1);y1 = zeros(n+1,1);syms f1; syms x;f1 = dsolve(Dy,y0,'x');x1(1) = a;y1(1) = subs(f1,{x},{x1(1)});for i = 2:(n+1)x1(i) = x1(i-1) + h;y1(i) = double(subs(f1,{x},{x1(i)}));end%利用Euler方法求解近似数值微分解x2 = zeros(n+1,1);y2 = zeros(n+1,1);syms y;x2(1) = a;y2(1) = subs(f1,{x},{a});%获得原方程的初解for i = 2:(n+1)x2(i) = x2(i-1) + h;y2(i) = y2(i-1) + h .* double(subs(Dy(5:end),{x,y},{x2(i-1),y2(i-1)}));%特别记录Matlab中的字符串操作,提取子字符串即A(3:6)...end%返回经过Euler算法算出x与y的值x = x2;y = y2;%画图进行误差比较plot(x1,y1,'r');hold on;plot(x2,y2,'b');特此记录,以后写了新的算法再分享文 - 汉语汉字编辑词条文,wen,从玄从爻。
tent混沌映射matlab代码

一、介绍混沌映射混沌映射是一类非线性动力系统的数学模型,其特点是具有极其敏感的初始条件和参数变化,表现出复杂、不可预测的动态行为。
混沌映射广泛应用于密码学、通信、生物学等领域,具有重要的理论和实际价值。
二、混沌映射的基本模型混沌映射的基本模型可以用迭代函数表示,其一般形式为:Xn+1=f(Xn),其中Xn表示第n次迭代的值,f()为映射函数。
常见的混沌映射包括Logistic映射、Henon映射、Lorenz映射等,它们具有不同的动态特性和应用场景。
三、混沌映射在Matlab中的实现在Matlab中,可以利用迭代方法实现混沌映射的计算和可视化。
以下是一个简单的混沌映射的Matlab代码示例:```matlab定义迭代次数n = 1000;定义参数a = 2;b = 0.5;初始化初始值x(1) = 0.1;y(1) = 0.1;迭代计算for i=1:nx(i+1) = y(i) + 1 - a*x(i)^2;y(i+1) = b*x(i);end可视化plot(x, y)xlabel('X')ylabel('Y')title('Henon Map')```四、混沌映射的参数调节与分析混沌映射的动态行为受参数和初始条件的影响,可以通过调节参数来观察其不同的轨迹和性质。
在Matlab中,可以通过修改参数a、b的数值,以及初始值x(1)、y(1)来进行实验和分析。
五、混沌映射的应用混沌映射在密码学中具有重要的应用,例如可以用于生成密钥序列、乱序数据等。
混沌映射在通信领域、图像处理、随机数生成等方面也有广泛的应用。
在以上的应用中,混沌映射的不可预测性和随机性是其重要的特点,使得其在信息安全领域具有独特的优势。
六、总结与展望混沌映射作为一种重要的非线性动力系统模型,在数学理论和应用领域都具有重要意义。
随着对混沌映射的研究不断深入,其在密码学、通信、生物学等领域的应用将会更加广泛和深入。
logistic-tent混沌映射的matlab程序 -回复

logistic-tent混沌映射的matlab程序-回复Logistic Tent Map is a chaotic mapping function that is widely used in mathematics and computer science. In this article, we will explore the concept of chaotic systems and understand the key features and properties of the Logistic Tent Map. Additionally, we will provide a step-by-step guide on how to implement the Logistic Tent Map in MATLAB.Introduction to Chaotic Systems:Chaotic systems are deterministic systems that exhibit sensitive dependence on initial conditions. This means that a small change in the initial condition of such a system can lead to significantly different results over time. Chaotic systems often display randomness, irregularity, and instability, making them fascinating and challenging to study.The Logistic Tent Map:The Logistic Tent Map is a one-dimensional, discrete-time chaotic mapping function that generates a sequence of values between 0 and 1. It is defined by the following equation:Xn+1 = λ * x * (1 - x) (Equation 1)Here, Xn is the value at the nth iteration, x is the initial value between 0 and 1, and λ is a constant parameter often set between 2 and 4. The Logistic Tent Map is named after the tent-like shape it forms when its values are plotted against the iteration count.Key Features and Properties:1. Bifurcation Diagram: One of the fascinating features of the Logistic Tent Map is its bifurcation diagram. The bifurcation diagram shows the stable points (attractors) and the range of parameter values where chaos emerges. As the parameter λ increases, the bifurcation diagram shows a sequence of doubling bifurcations and eventually leads to chaos.2. Period-Doubling Route to Chaos: The period-doubling route to chaos refers to the scenario where a system transitions from a stable state to exhibiting chaotic behavior through a sequence of period-doubling bifurcations. The Logistic Tent Map is a classic example of this route, and studying its behavior sheds light on the dynamics of chaotic systems.3. Sensitive Dependence on Initial Conditions: As previouslymentioned, chaotic systems exhibit sensitive dependence on initial conditions. This means that even a slight change in the initial value x can lead to vastly different trajectories and behaviors over time. It is this feature that makes chaotic systems difficult to predict and control accurately.Implementing the Logistic Tent Map in MATLAB:Now, let's move on to the implementation of the Logistic Tent Map in MATLAB. Follow the steps below:Step 1: Initialize the parameters and variablesFirst, we need to initialize the parameters and variables for our MATLAB code. Define the parameter λ, the initial value x, and the number of iterations.Step 2: Implement the Logistic Tent Map equationNext, implement Equation 1 using MATLAB syntax. Use a for loop to iterate through the specified number of iterations and update the value of x at each step.Step 3: Visualize the resultsTo visualize the chaotic behavior generated by the Logistic TentMap, create a plot with iteration count on the x-axis and the value of x on the y-axis. This plot will show the tent-like shape associated with the Logistic Tent Map.Step 4: Experiment with different parameters and initial conditions To explore the behavior of the Logistic Tent Map, try different parameter values for λ and initial conditions for x. Observe the changes in the bifurcation diagram and the trajectory plots as you vary these values.Conclusion:The Logistic Tent Map is a significant example of a chaotic mapping function. Its properties and behavior are valuable in understanding chaotic systems in mathematics and computer science. By implementing the Logistic Tent Map in MATLAB, we can visualize the chaotic behavior and explore the sensitivity to initial conditions. Remember to experiment with different parameters and initial values to gain a deeper understanding of its chaotic dynamics.。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
混沌映射(序列)matlab算法“小全”:Logistic、Henon、帐篷、kent(含混沌二值图像生成函数)1.Logistic(罗切斯特)映射变换核:x n+1=ax n(1−x n)绘图程序: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*(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.600。
Switch nargin;case1;n=varargin{1};key=0.600;case2;n=varargin{1};key=varargin{2};otherwisekey=0.600;n=64;endN=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;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变换核:{xynn2n+1=bxn绘图程序:a∈(0,1.4)0.2<b≤0.314b=0.3;N=400;an=ones(1,N);xn=zeros(1,N);hold on;boxon;x=0;y=0;for a=0:0.001:1.4for k=1:N;xm=x;ym=y;x=ym+1-a*xm.*xm;y=b*xm;endxn(1)=x;for n=2:N;xm=x;ym=y;x=ym+1-a*xm.*xm;y=b*xm;xn(n)=x;endplot(an*a,xn,'k.','markersize',1);endxlim([0,a]);实用混沌加密函数:functionichao_ans=ichaos_henon(varargin)%埃农(Henon)映射%0.2<key<0.314;理想范围(0.25—0.314)。
重量较大。
%参数:%(n,key),n为矩阵阶数,key为迭代初始值。
%(n),n为矩阵阶数,key=0.314。
%()或(n,key,...),n=64,key=0.314。
switchnargin;case1;n=varargin{1};key=0.314;case2;n=varargin{1};key=varargin{2};otherwisekey=0.314;n=64;endn=64;N=n^2;an=ones(1,N);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;endxn(1)=x;for cir2=2:N;xm=x;ym=y;x=ym+1-a*xm.*xm;y=key*xm;xn(cir2)=x;endc=reshape(xn,n,n);%一维矩阵转换二维矩阵d=zeros(n,n);%二维混沌矩阵调制For a1=1:n;For a2=1:n;ifc(a1,a2)>=0;d(a1,a2)=1;else d(a1,a2)=0;end;end;end;ichao_ans=d;第2 / 4页3.帐篷映射变换核:xn+1=a−(1+a)|xn|a∈(0,1)绘图程序:%帐篷映射%0<a<1%a理想值0.99—1%0<x<1n=20;N=n^2;xp=zeros(1,N);Aa=ones(1,N);Hold on;box on;x=0.01;%初值for a=0:0.001:1;forn=1:N;x=a-(1+a)*abs(x);endfor k=1:N;x=a-(1+a)*abs(x);xp(k)=x;endplot(Aa*a,xp,'k.','markersize',1);endxlim([0,a]);实用混沌加密函数:functionichao_ans=ichaos_tent(varargin)%帐篷映射%0<a<1%a理想值0.99—1%x初值作为密钥%0<x<1%参数:%(n,key),n为矩阵阶数,key为迭代初始值。
%(n),n为矩阵阶数,key=0.99。
%()或(n,key,...),n=64,key=0.99。
switchnargin;case1;n=varargin{1};key=0.99;case2;n=varargin{1};key=varargin{2};otherwisekey=0.99;n=64;endN=n^2;xp=zeros(1,N);x=key;a=0.998;for cir1=1:N;x=a-(1+a)*abs(x);endfor cir2=1:N;x=a-(1+a)*abs(x);xp(cir2)=x;endc=reshape(xp,n,n);%一维矩阵转换二维矩阵d=zeros(n,n);%二维混沌矩阵调制for a1=1:n;fora2=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 / 4页4.kent(肯特)映射xx,0<xn={1a≤a−xn1−a,a<x≤1绘图程序:%肯特映射n=20;N=n^2;xp=zeros(1,N);Aa=ones(1,N);x=0.36;hold on;box on;fora=0.01:0.001:0.5;for cir1=1:N;ifx<=a;x=x/a;elsex=(1-x)/(1-a);endendforcir3=1:N;ifx<=a;x=x/a;elsex=(1-x)/(1-a);endxp(cir3)=x;endplot(Aa*a,xp,'k.','markersize',1);endxlim([0,a]);实用混沌加密函数:functionichao_ans=ichaos_kent(varargin)%0.1<x<1,将初值作为密钥key%a<0.5,当大于0.4时比较理想%参数:%(n,key),n为矩阵阶数,key为迭代初始值。
%(n),n为矩阵阶数,key=0.8。
%()或(n,key,...),n=64,key=0.8。
switchnargin;case1;n=varargin{1};key=0.8;case2;n=varargin{1};key=varargin{2};otherwisekey=0.8;n=64;endN=n^2;xp=zeros(1,N);x=key;a=0.4;for cir1=1:N;if x<=a;x=x/a;elsex=(1-x)/(1-a);endendfor cir3=1:N;if x<=a;x=x/a;elsex=(1-x)/(1-a);endxp(cir3)=x;endc=reshape(xp,n,n);%一维矩阵转换二维矩阵%figure;%imhist(c);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;%sum(sum(d))ichao_ans=d;figure;imshow(ichao_ans);。