matlab 混沌电路加密图片_混沌学习笔记(一)

前言:

最近研究的被控对象有延时、死区非线性特性,希望通过分线性分析挖掘其中一些有价值的东西,从混沌的分析方法观察参数变化对被控对象的影响。刚开始接触混沌,先从感性的认识入手,然后学习了分岔图和李雅普诺夫指数概念,计算方法和编程。复现了一维非线性差分方程的分岔图,lyapunov指数计算有现成的matlab工具包,但是需要根据自己模型进行融合。照葫芦画瓢做了自己的被控对象的分岔图,但是合理性有待进一步研究,这部分没有放上来。

一、 lorenz混沌系统相轨迹图 MATLAB 仿真

765c74da5dff7e08e1b67a53c9a2ce5c.png
洛伦兹系统X-Z相

03964007faa2237f405ac0926861b586.png
洛伦兹系统X-Y相

lorenz混沌系统 MATLAB 仿真程序如下

% lorenz混沌系统 MATLAB 仿真

其中洛伦兹混沌函数为

% 洛伦兹混沌函数
function dydt = lorenz_diff(t,y)

dydt = [ -10*(y(1)-y(2));

          30*y(1)-y(1)*y(3)-y(2)

          -8/3*y(3)+y(1)*y(2)];
end

二、李雅普诺夫指数

李雅普诺夫指数,衡量一个系统因微小初值误差,随时间(迭代)产生分离的程度。李雅普诺夫指数大于0,可以作为混沌行为的判据。李雅普诺夫指数正负及其数目决定了吸引子类型。计算李雅普诺夫方法很多,matlab有相应的工具包,但是需要编写一下自己模型的微分方程。

d39d5b49569f352dfc9dd67c99ebdc84.png

三、分岔图

以抛物线迭代方程为例

分岔图为

672015b4f18c03ccca5d24058bf76c97.png
抛物线映射的分岔图

对应x值变化情况为

r=2.8时

497f878b646c97a6bdd75a9624bf08c0.png

r=3.2

a32b07f3408b8b202ba31bd66ee089c5.png

r=3.5

4ba3fa3cd3dbd5f32f709d1da7e90f0a.png

r=3.7

61f48ba05a046c869f96e023ed59b3b6.png

抛物线映射的分岔图matlab程序

%% 混沌中的倍周期现象matlab实现 
clear
clc
r=2.7:0.001:3.9;
n=length(r);
x=zeros(150,n);
x(1,:)=0.1;
for i=2:150
    x(i,:)=r.*x(i-1,:).*(1-x(i-1,:));
end
x1=x(101:150,:);
figure(1)
plot(r,x1,'.k','MarkerSize',0.5)
xlabel('r 参数');
ylabel('x 状态')
k=(3.5-2.7)/0.001-1;

抛物线映射数值迭代的matlab程序

% 抛物线模型的迭代图,用来验证和感受分岔图中参数对系统变化的影响
%by zhouyu
close all
clc
clear
tv=100;
x=zeros(1,tv);
x(1)=0.1;
r=3.7;%2.8;3.2;3.5; 3.7可观察不同收敛现象
for i=1:tv-1
    x(i+1)=r*x(i)*(1-x(i));
end
plot([1:tv],x)
xlabel('迭代次数')
ylabel('状态变化')
x(100)

四、参考文献

禹思敏.混沌系统与混沌电路——原理、设计及其在通信中的应用

7.李雅普诺夫指数 - 百度文库​wenku.baidu.com 混沌现象的matlab实现 - 百度文库​wenku.baidu.com lorenz混沌系统 MATLAB 仿真​jingyan.baidu.com
表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
©️2020 CSDN 皮肤主题: 1024 设计师:白松林 返回首页