非线性系统的混沌特性分析方法--相图/分岔图分析法

news2024/11/18 21:44:52

非线性系统的混沌特性分析方法–相图/分岔图分析法

​ 混沌映射被用于生成混沌序列,这是一种由简单的确定性系统产生的随机性序列。一般混沌序列具有以下主要特征:

  1. 非线性;
  2. 对初值的敏感依赖性;
  3. 遍历性;
  4. 随机性;
  5. 奇异吸引子(混沌吸引子);
  6. 分数维持性;
  7. 整体稳定局部不稳定;
  8. 长期不可预测性;
  9. 轨道不稳定性及分叉;
  10. 普适性和Feigenbaum常数。

​ 由于非线性系统的动力学特性的复杂性,如何判断非线性系统中的混沌行为,一直是混沌学研究的重要课题。一般地,判断系统混沌特性的方法有相轨线(相图)分析法、自功率谱分析法、Lyapunov特征指数法、分数维分析法、分频采样法、赝相空间法、Poincare截面法、0-1测试法和复杂度测度法等。

​ 非线性系统一般有两种类型,离散混沌系统与连续混沌系统,绘制的相图的方法,主要是通过求解微分方程的数值解,常用的是简单的欧拉法,龙格库塔方法等。

相图分析法

​ 相图分析法是一种直接观测法,混沌运动的往复非周期运动特性可以利用相平面图的几何方法表示出来。周期运动每隔一个周期就要重复以前的运动,其运动的相轨迹曲线是一条封闭的曲线。混沌运动是非周期性运动,因而混沌运动的相轨迹曲线是一条永远不封闭的曲线,而运动的往复型则反映在相轨迹曲线局限于一个有界的区域内,不会发散到无穷远,也不会收敛于稳定点,从而形成奇异吸引子。所以,如果对非线性系统进行仿真,画出系统的相图,就可以直观地初步确定非线性系统的动力学行为,包括极限环、周期运动和混沌运动等。相轨线图的缺点是,当周期运动的周期很长时,仅根据相平面图难以准确区分周期运动和混沌运动。

​ 混沌吸引子具有复杂的拉伸、折叠和伸缩的结构,使得按指数规律发散的系统保持在有限的空间内,它是动力学系统整体稳定性和局部不稳定性共同作用的结果。由于整体的稳定性,时的一切位于吸引子之外的云动都向吸引子靠拢,运动轨道收敛到吸引子上;而局部的不稳定,使得一切到达吸引子内部的运动轨道相互排斥,在某些方向上发散,成为不稳定的因素。微小的扰动对混沌吸引子来说都是稳定的,终将到达吸引子上。但是,在混沌吸引子内部,系统运动状态对初始条件非常敏感,即进入混沌吸引子的位置稍有差别,随着时间演化,这一差别会以指数形式增长,最终导致混沌轨道的截然不同。混沌吸引子又具有分形性质,是一个分形集;混沌吸引子具有无穷嵌套的自相似结构;混沌吸引子具有分维性,它是对我们所熟知的整数维空间中维数概念的扩展。

分岔图分析法

当系统参数变化时,其庞加莱映射在某一坐标轴上的投影可构成该参数变化时的分岔图。对于确定不变的系统参数,分岔图上一个信号点或者与系统周期数相等的儿个信号点可以表示系统周期稳定的状态。而混沌图中画出的无数个点则表示出现混沌现象时存在无数个周期信号点从不落到相同的位置上。因此,在分岔图中,可以很清晰地描绘出系统性能随系统参数变化的特征。

离散混沌系统案例

  1. 分段线性映射

    1.1 Tent映射

    x n + 1 = { a x n , 0 ≤   x n   <   0.5   a ( 1 − x n ) , 0.5 ≤   x n   <   1   μ ∈ ( 0 , 2 ] x_{n+1}= \begin{cases} ax_n, 0\le\ x_n \ < \ 0.5\ \\ a(1-x_n),0.5\le\ x_n \ <\ 1\ \\ \mu \in(0,2] \end{cases} xn+1= axn,0 xn < 0.5 a(1xn),0.5 xn < 1 μ(0,2]

    clc;
    clear all;
    close all;
    axis([0,1,0,1]);
    %% 初始值
    x0=0.1;t=800;M=850;
    r=0:0.01:1;
    [m,n]=size(r);
    hold on
    for i=1:n
        if x0<0.5
            x(1)=2*r(i)*x0;
        end
        if x0>=0.5
            x(1)=2*r(i)*(1-x0);
        end
    for j =2:M
         if x(j-1)<0.5
            x(j)=2*r(i)*x(j-1);
         end
        if x(j-1)>=0.5
            x(j)=2*r(i)*(1-x(j-1));
        end
    end
    xn{i}=x;
    %%pause(0.1);
    plot(r(i),xn{i},'b.','Markersize',2);
    xlabel('r');ylabel('x(i)');
    end
    
    
    %% Tent
    y_2=zeros(1,10^5);
    y_2(1)= 0.152;   
    Beta = 0.4;
    for i = 1 : 10^5-1   
           if (y_2(i)<=Beta && y_2(i)>0)
              y_2(i+1) = y_2(i)/Beta;
           else 
              y_2(i+1)=(1-y_2(i))/(1-Beta);
           end    
    end
    figure
    h2=histogram(y_2,200);
    h2.FaceColor=[0 0 1];
    xlim([0,1])%设置x轴范围
    xlabel('Tent map')
    

    tent.png

    pC2W2k9.md.png

    1.2 Bernoulli映射

    clc;clear all;close all
    axis([0,1,0,1]);
    x0=0.1;t=800;M=850;
    r=0:0.01:1;
    [m,n]=size(r);
    hold on
    for i=1:n
        if x0<0.5
            x(1)=2*r(i)*x0;
        end
        if x0>=0.5
            x(1)=2*r(i)*(x0-1)+1;
        end
    for j =2:M
         if x(j-1)<0.5
            x(j)=2*r(i)*x(j-1);
         end
        if x(j-1)>=0.5
            x(j)=2*r(i)*(x(j-1)-1)+1;
        end
    end
    xn{i}=x;
    %%pause(0.1);
    plot(r(i),xn{i},'b.','Markersize',2);
    xlabel('r');ylabel('x(i)');
    end
    

    pC2WYwQ.md.png

    pC2WrOU.md.png
    x n + 1 = { a x n , 0 ≤   x n   <   0.5   a ( x n − 1 ) + 1 , 0.5 ≤   x n   <   1   x_{n+1}=\begin{cases} ax_n,0\le\ x_n\ < \ 0.5\ \\ a(x_n-1)+1,0.5\le\ x_n \ <\ 1\ \\ \end{cases} xn+1={axn,0 xn < 0.5 a(xn1)+1,0.5 xn < 1 

    1.3 抛物线映射(Logistic)
    x n + 1 = μ x n ( 1 − x n ) μ ∈ ( 0 , 4 ) x 0 ∈ ( 0 , 1 ) x_{n+1}=\mu x_n(1-x_n)\\ \mu\in (0,4) \\ x_0 \in(0,1) xn+1=μxn(1xn)μ(0,4)x0(0,1)

figure(1);
axis([2.7, 4, 0, 1]);
grid
hold on %保持屏幕不动,持续打点
for r = 2.7:0.005:3.9
    x = 0.1;
    for i =2:200
        x(i) = r *x(i-1) *(1-x(i-1));
    end
    pause(0.1)%暂停函数
    for i=151:200
        plot(r,x(i),'k.');
    end
end
title('Logistic映射分岔图');

pC2fo3q.md.png

  1. 二维离散送代映射

​ 2.1 Henon映射
{ x n + 1 = 1 − a x n 2 + y n y n + 1 = b x n \begin{cases} x_{n+1} = 1-ax_n^2+y_n \\ y_{n+1} = bx_n \\ \end{cases} {xn+1=1axn2+ynyn+1=bxn

1.07 ≤   a ≤ 1.4 , b = 0.3 x n ∈ ( − 1.5 , 1.5 ) 1.07\le\ a\le1.4,b=0.3 \\ x_n\in(-1.5,1.5) 1.07 a1.4,b=0.3xn(1.5,1.5)

​ 当a在这个范围内时,系统处于混沌状态,当a=1.4时,系统的复杂度最大,一般在混沌研究中取a=1.4,b=0.3

clc;
clear all;
a=1.4;
b=0.3;
x(1)=0.5;
y(1)=0.5;
for i=2:1000
    x(i)=1-a*x(i-1)^2+y(i-1);
    y(i)=b*x(i-1);
end
figure(1)
plot(x,y,'.');
title('Henon映射')
clc;
clear all;
figure(1);
axis([0, 1.5, -1, 1]);
grid
hold on
b=0.3;
for a = 0:0.01:1.5
    x(1)=0.5;
    y(1)=0.5;
    for i =2:200
        x(i)=1-a*x(i-1)^2+y(i-1);
        y(i)=b*x(i-1);
    end
    pause(0.1)
    for i=10:200
        plot(a,y(i),'k.');
    end
end
xlabel('a');
ylabel('yn');
title('Henon分岔');

pC2hn2t.md.png

2.2 二维广义平方映射

​ 动力学行为由四个控制参数,r,a, b1, b2决定,若固定参数a=10,选取参数在下面的范围内
r ∈ [ − 1 , 1 ] b 1 = b 2 = b ∈ [ − 1 , 1 ] r\in[-1,1] \\ b_1 = b_2 = b \in[-1,1] r[1,1]b1=b2=b[1,1]

{ x n + 1 = b 1 [ e x p − a x n 2 − x n 2 ] + r y n y n + 1 = b 2 [ e x p − a y n 2 − y n 2 ] + r x n \begin{cases} x_{n+1} = b_1[exp^{-ax_n^2}-x_n^2]+ry_n \\ y_{n+1} = b_2[exp^{-ay_n^2}-y_n^2]+rx_n \\ \end{cases} {xn+1=b1[expaxn2xn2]+rynyn+1=b2[expayn2yn2]+rxn

pC24Oh9.md.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/736790.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Linux初阶】基础IO - 磁盘 文件系统

&#x1f31f;hello&#xff0c;各位读者大大们你们好呀&#x1f31f; &#x1f36d;&#x1f36d;系列专栏&#xff1a;【Linux初阶】 ✒️✒️本篇内容&#xff1a;认识磁盘&#xff08;物理结构、储存结构、逻辑结构、读取单位&#xff09;&#xff0c;理解文件系统&#xf…

会声会影2023最新免费版零基础上手视频剪辑工具

比如会声会影视频编辑软件&#xff0c;既加入光影、动态特效的滤镜效果&#xff0c;也提供了与色彩调整相关的LUT配置文件滤镜&#xff0c;可选择性大&#xff0c;运用起来更显灵活。会声会影在用户的陪伴下走过20余载&#xff0c;经过上百个版本的优化迭代&#xff0c;已将操作…

【消息队列RabbitMQ】一、RabbitMQ认识

这里写目录标题 RabbitMQSpringboot整合RabbitMQRabbitMQ的常见开发模式如何保证消息的可靠生产和可靠投递什么是死值队列和延迟队列 RabbitMQ 消息队列有&#xff1a; 1、ActiveMQ 2、RabbitMQ 3、ZeroMQ 4、Kafka 什么是RabbitMQ&#xff1f; RabbitMQ是一个开源的消息队列服…

第23章:范式

一、范式 1.什么是范式 关于数据表设计的基本原则&#xff0c;规则就是范式NF。 2.范式都包括哪些&#xff1f; 第一范式&#xff08;1NF&#xff09;、第二范式&#xff08;2NF&#xff09;、第三范式&#xff08;3NF&#xff09;、巴斯-科德范式&#xff08;BCNF - Boyce…

两台电脑如何共享文件?6步快速完成!

电脑之间共享文件已经成为日常工作中不可或缺的一部分。无论是在家庭环境中与家人共享照片和视频&#xff0c;还是在办公室中与同事共享文档和数据&#xff0c;了解两台电脑如何共享文件是非常重要的。 但在实际操作中&#xff0c;如何更好的使两台电脑共享文件&#xff0c;也…

多层感知机(MLP)算法原理和代码实现

文章目录 多层感知机入门算法优化原理sklearn代码实现核心优缺点分析 多层感知机入门 神经网络在最近几年&#xff0c;是个很火的名词了。常听到的卷积神经网络(CNN)或者循环神经网络(RNN&#xff09;&#xff0c;都可以看做是神经网络在特定场景下的具体应用方式。 本文我们…

干货 | 智能网联汽车大数据基础平台构建研究

以下内容整理自大数据能力提升项目必修课《大数据系统基础》同学们的期末答辩汇报。 各位老师大家上午好&#xff0c;我们组的题目是智能网联汽车大数据基础平台的构建。我们的指导企业是西部智联。我们的汇报将从这五个方面进行展开&#xff0c;第一个方面是项目背景与需求分析…

uni-app基础知识

发展 DCloud于2012年开始研发小程序技术&#xff0c;优化webview的功能和性能&#xff0c;并加入W3C和HTML5中国产业联盟。 2015年&#xff0c;DCloud正式商用了自己的小程序&#xff0c;产品名为“流应用”&#xff0c;它不是B/S模式的轻应用&#xff0c;而是能接近原生功能…

Debezium系列之:基于debezium将mysql数据库数据更改流式传输到 Elasticsearch和PostgreSQL数据库

Debezium系列之&#xff1a;基于debezium将mysql数据库数据更改流式传输到 Elasticsearch和PostgreSQL数据库 一、背景二、技术路线三、配置四、从mysql同步数据到Elasticsearch和PostgreSQL数据库五、总结 一、背景 基于 Debezium 的端到端数据流用例&#xff0c;将数据流式传…

I/O 多路复用小结

Socket 模型 Socket 编程是一种使用 Socket 模型进行网络通信的编程技术。它是一种基于网络套接字的编程模型&#xff0c;用于实现不同计算机之间的数据传输。 事实上&#xff0c;在进行网络通信前&#xff0c;通信双方都要创建一个 Socket&#xff0c;双方的数据读写都要依赖于…

【Python】执行SQL报错

可以再数据库查询界面执行的SQL&#xff0c;一直报错 unsupported format character Y (0x59) at index 61 SQL如下&#xff1a; datapd.read_sql_query(sql"""selectdate_format(create_time,%Y-%m) as mon,count(distinct order_id) as ord_cntfrom prod.o…

HTTP与HTTPS

HTTP与HTTPS介绍 超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息&#xff0c;HTTP协议以明文方式发送内容&#xff0c;不提供任何方式的数据加密&#xff0c;如果攻击者截取了Web浏览器和网站服务器之间的传输报文&#xff0c;就可以直接读懂其中的信息&…

qt源码--事件系统

qt的事件传播主要依赖于QCoreApplication、QAbstractEventDispatcher&#xff08;会根据不同的平台生成各自的处理对象&#xff09;、QEvent&#xff08;各种事件类型&#xff09;等。 首先看下QCoreApplication的实现&#xff1a; 2、了解QCoreApplication的构造函数 其构造函…

在最新ICP备案域名的基础上,结合其他网络营销手段,打造强大的品牌推广效果

API接口是一种软件系统之间进行交互的方式&#xff0c;通过API接口&#xff0c;可以在不同的系统之间传递数据、命令等信息。在网络营销中&#xff0c;API接口可以帮助我们更加高效地进行品牌推广。本文将以在最新ICP备案域名的基础上&#xff0c;结合其他网络营销手段&#xf…

JVM回收算法(标记-清除算法, 复制算法, 标记-整理算法)

1.标记-清除算法 最基础的算法&#xff0c;分为两个阶段&#xff0c;“标记”和“清除” 原理&#xff1a; - 标记阶段&#xff1a;collector从mutator根对象开始进行遍历&#xff0c;对从mutator根对象可以访问到的对象都打上一个标识&#xff0c;一般是在对象的header中&am…

vue-router 4.0 动态路由会跳转到 404 页面的问题

引子 开发过前端单页面应用的小伙伴们&#xff0c;应该对前端路由都不陌生吧。 无论是用 vue 或者 react&#xff0c;都有官方提供的 router 方案。 但是有些场景下&#xff0c;处于安全性和友好性考虑&#xff0c;我们需要用到动态路由。 如果你不知道什么叫动态路由&…

翻遍整个牛客网,整理出了全网最全的Java面试八股文大合集,整整4000多页

大家从 Boss 直聘上或者其他招聘网站上都可以看到 Java 岗位众多&#xff0c;Java 岗位的招聘薪酬天差地别&#xff0c;人才要求也是五花八门。而很多 Java 工程师求职过程中&#xff0c;也是冷暖自知。很多时候技术有&#xff0c;但是面试的时候就是过不了&#xff01; 为了帮…

4.7 x64dbg 应用层的钩子扫描

所谓的应用层钩子&#xff08;Application-level hooks&#xff09;是一种编程技术&#xff0c;它允许应用程序通过在特定事件发生时执行特定代码来自定义或扩展其行为。这些事件可以是用户交互&#xff0c;系统事件&#xff0c;或者其他应用程序内部的事件。应用层钩子是在应用…

【Zabbix 监控 Windows 系统,Java应用,SNMP】

目录 一、Zabbix 监控 Windows 系统1、下载 Windows 客户端 Zabbix agent 22、安装客户端&#xff0c;配置3、在服务端 Web 页面添加主机&#xff0c;关联模板 二、Zabbix 监控 java 应用1、客户端开启 java jmxremote 远程监控功能1、配置 java jmxremote 远程监控功能2、启动…

【ARM Coresight 系列文章 3.1 - ARM Coresight DP 对 AP 的访问 2】

文章目录 图 1-1 如上图1-1 所示&#xff0c;DAP上可以集成多个MEM-AP&#xff0c;上图是集成了3个MEM-AP&#xff0c;它们可能是AXI-AP, AHB-AP, APB-AP。 那么AP的类型是如何区分的呢&#xff1f; 不同的组件会使用不同MEM-AP接口&#xff0c;如Cortex-A/Coretex-R 系列的c…