博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
混沌数学之Chua's circuit(蔡氏电路)
阅读量:6541 次
发布时间:2019-06-24

本文共 2374 字,大约阅读时间需要 7 分钟。

      蔡氏电路(英语:Chua's circuit),一种简单的非线性电子电路设计,它可以表现出标准的混沌理论行为。在1983年,由蔡少棠教授发表,当时他正在日本早稻田大学担任访问学者[1]。这个电路的制作容易程度使

它成为了一个无处不在的现实世界的混沌系统的例子,导致一些人声明它是一个“混沌系统的典范”.

      通过电磁学定律的应用,蔡氏电路可以被准确的建立数学模型:这是变量x(t), y(t),和z(t)的一个三个非线性常微分方程的系统,分别是在电容C1和C2上的电压,和在电感L1上的电流强度。这些蔡氏方程有:

dx = a*[y-x-f(x)]

dy = x-y+z
dz = -b*y

------------------------------

函数 f(x) 描述了非线性电阻的电子响应,并且它的形状是依赖于它的元件的特定配置。
f(x)=cx(t)+0.5(d-c)(|x(t)+1|-|x(t)-1|)
参数 α 和 β 是由电路元件的特定值来决定的。

      被称为双涡旋"The Double Scroll"的一个混沌吸引子,是因为它在(x,y,z)空间的形状, 被首次观察到在电子线路中包含一个非线性元件,元件的f(x)是一个三段的线性函数。

非线性是在自然界广泛存在的自然规律。非线性问题包含了多个分支,混沌便是其中之一。混沌现象在生活中广泛存在。

采用非线性电路是直观地演示混沌现象一个非常好的选择。能产生混沌现象的自治电路至少要满足三个条件:

(1)有一个非线性元件

(2)有一个用于耗散能量的电阻

(3)有三个存储能量的元件。

蔡氏电路即满足上述条件。蔡氏电路的结构简单、现象清晰,所以它经常用于观察混沌现象的教学实验。

 

      作为一个最简单的实验实现的电路,并且存在一种简单而准确的理论模型相结合,使蔡氏电路成为一个研究混沌理论的许多基础研究和应用的问题的实用系统。正因为如此,它一直是许多研究的对象,并广泛被人们在文献中引用。

相关软件:

相关代码:

class ChuaCircuit : public DifferentialEquation{public:    ChuaCircuit()    {        m_StartX = 0.1f;        m_StartY = 0.3f;        m_StartZ = -0.6f;        m_ParamA = 3.0f;        m_ParamB = 1.0f;        m_ParamC = 2.0f;        m_ParamD = 0.5f;    }    void Derivative(float x, float y, float z, float& dX, float& dY, float& dZ)    {        float f = m_ParamC*x + 0.5f*(m_ParamD-m_ParamC)*(fabsf(x+1)-fabsf(x-1));        dX = m_ParamA*(y - x - f);        dY = x - y + z;        dZ = -m_ParamB*y;    }    bool IsValidParamA() const {
return true;} bool IsValidParamB() const {
return true;} bool IsValidParamC() const {
return true;} bool IsValidParamD() const {
return true;}};

相关截图:

 

相关代码:

// http://wenku.baidu.com/view/a4b0df0bf78a6529647d5349.htmlclass ChuaCircuit2 : public DifferentialEquation{public:    ChuaCircuit2()    {        m_StartX = 0.1f;        m_StartY = 0.3f;        m_StartZ = -0.6f;        m_ParamA = 12.8f;        m_ParamB = 19.1f;        m_ParamC = 0.45f;        m_ParamD = -1.1f;        m_ParamE = 0.6f;    }    void Derivative(float x, float y, float z, float& dX, float& dY, float& dZ)    {        float h = m_ParamE*x + m_ParamD*x*fabs(x) + m_ParamC*x*x*x;        dX = m_ParamA*(y - h);        dY = x - y + z;        dZ = -m_ParamB*y;    }    bool IsValidParamA() const {
return true;} bool IsValidParamB() const {
return true;} bool IsValidParamC() const {
return true;} bool IsValidParamD() const {
return true;} bool IsValidParamE() const {
return true;}};

相关截图:

 

转载地址:http://bcsdo.baihongyu.com/

你可能感兴趣的文章
项目实践中Linux集群的总结和思考
查看>>
关于使用Android NDK编译ffmpeg
查看>>
监控MySQL主从同步是否异常并报警企业案例模拟
查看>>
zabbix从2.2.3升级到最新稳定版3.2.1
查看>>
我有一个网站,想提高点权重
查看>>
Web前端开发必备:《Jquery实战》第3版 介绍
查看>>
2017年前端框架、类库、工具大比拼
查看>>
浅谈(SQL Server)数据库中系统表的作用
查看>>
微软邮件系统Exchange 2013系列(七)创建发送连接器
查看>>
程序员杂记系列
查看>>
配置Exchange 2010 服务器(二)Exchange2010证书配置
查看>>
Kafka消息时间戳(kafka message timestamp)
查看>>
【树莓派】制作树莓派所使用的img镜像(一)
查看>>
理解网站并发量
查看>>
spring整合elasticsearch之环境搭建
查看>>
TensorFlow 架构与设计-编程模型【转】
查看>>
文件上传漏洞的防护
查看>>
如何运行Struts2官网最新Demo?
查看>>
'ascii' codec can't decode byte 0xe6 in position 0: ordinal not in range(128)
查看>>
XDebug 教程
查看>>