典型二阶非线性Duffing方程的MATLAB仿真

摘要:作为一类具有广泛物理意义的动力系统,Duffing方程及其混沌现象长期以来为人们关注。本文在详细阐释Duffing方程物理意义的基础上讨论了这一类方程的数值计算方法并采用MATLAB软件包完成了Duffing方程的求解以及相图的绘制。文章相图和一些信号波形的分析说明了一些混沌振荡的特征。

关键词:Duffing方程; Runge-Kutta法

Abstract: As one important kind of dynamical system with profound physical background, Duffing equation has been a hot topic for a long period. This article illustrates its physical significance before introducing some Runge-Kutta methods to solve the equation. With one method adopted and the use of MATLAB, the paper realizes the visualization of phase portrait and some signal waveforms of the equation with two different kinds of coefficients. Finally, basic characteristics of chaos are analyzed based on phase portrait and signal waveforms in both time and frequency dormain.

Key words: Duffing equation; Runge-Kutta methods1. 引言

广义二阶Duffing方程形式为x″ + g ( x) = e ( t).其中e(t)代表激励函数。本文讨论的是一类具有广泛应用的Duffing方程,其形式为

(1)

方程(1)具有典型的物理意义,它代表了一个二阶动力系统,其中包含一个阻尼部件(反映),一个正弦激励源和一个非线性储能部件(用反映)。值得注意的是,对于不是用多项式表示的非线性储能部件的函数关系g(x),可以根据Taylor定理在局部展开为Taylor级数形式,然后应用方程(1)描述。

下面举例说明方程(1)的物理意义。对于一个如图1所示的由滑块m,计入摩擦的墙壁以及经过淬火处理的弹簧的典型力学系统[1],若F= ,Fsp= ,其中y代表滑块距离墙的位移,Ff= ,表示阻尼力和滑块速度成正比。

图1、由滑块和弹簧构成的力学系统

本系统包括一个非线性储能弹簧,一个与速度成正比的摩擦力和一个周期外力激励。根据牛顿定律列出方程,入各项表达式得

(2)

这是一个典型的Duffing方程。

Duffing方程亦可用于描述电路系统,这将在下一节进行分析。

2. Duffing方程描述的电路系统分析

需要描述的并联LC二阶铁磁混沌振荡电路如图2所示[2],其中,电容C和电阻R为线性元件,L为非线性电感,其韦安特性表示为 .

图2、由非线性电感和线性电容电阻构成的二阶电路系统

对于图2,根据KVL与KCL列写电路方程如下:

化简并入表达式可得:

通过增加一个变量可以将这个非自治其化为三阶自治方程[3] ,如下:

经过变量替换以后可以得到简化后的方程,见公式(3). 可见本电路的方程就是典型二阶非线性Duffing方程。其中.变量具有对应关系,即.

(3.1)

(3.2)

(3.3)

本电路中的非线性电感作为非线性储能部件,R作为阻尼,激励是电压源。因此从物理含义上来说本电路具有Duffing方程描述的动力系统的一切特点,故根据KCL和KVL列出的方程和Duffing方程等价应在意料之中。

3. 常微分方程数值解法

非线性微分方程组因其解析解难以找到故需要数值方法求解,从而得到在一系列自变量值处的函数值,即寻找真解y(x)在上的近似值.

4级4阶标准Runge-Kutta法[4]是较为常用的数值解法之一,它的优点是:具有4阶精度,显式方法,无需迭代。这些优点使得Runge-Kutta法不仅可以单独使用,也可以和与其同阶的隐式法配合构成更加精确的预测-校正方法或者作为同阶多步法求解初始值的工具。例如,在由Adams显式法和Aams隐式法组合构成的预测-修正-校正-修正计算体

matlab duffing相图,典型二阶非线性Duffing方程的MATLAB仿真.doc相关推荐

  1. matlab 二阶非线性微分方程组,二阶非线性常微分方程的打靶法matlab实现.doc

    二阶非线性常微分方程的打靶法matlab实现.doc 二阶非线性常微分方程的打靶法1.问题:试用打靶法求二阶非线性常微分方程亮点边值的数值解:要求用Matlab编程计算,请给出一些例子,验证你的算法与 ...

  2. galerkin有限元法matlab实现,有限元法求解二维Poisson方程的MATLAB实现

    有限元法求解二维Poisson方程的MATLAB实现 陈莲a,郭元辉b,邹叶童a [摘要]文章讨论了圆形区域上的三角形单元剖分.有限元空间,通过变分形式离散得到有限元方程. 用MATLAB编程求得数值 ...

  3. matlab lyap,Matlab的Lyapunov、Sylvester和Riccati方程的Matlab求解

    一.连续Lyapunov方程连续Lyapunov方程可以表示为 Lyapunov方程来源与微分方程稳定性理论,其中要求C为对称正定的n×n方阵,从而可以证明解X亦为n×n对称矩阵,这类方程直接求解比较 ...

  4. lyapunov函数 matlab,科学网-[转载]Matlab的Lyapunov、Sylvester和Riccati方程的Matlab求解-吴雄君的博文...

    一.连续Lyapunov方程连续Lyapunov方程可以表示为 Lyapunov方程来源与微分方程稳定性理论,其中要求C为对称正定的n×n方阵,从而可以证明解X亦为n×n对称矩阵,这类方程直接求解比较 ...

  5. qam已调信号matlab相干解调,通信原理课程设计-基于MATLAB的M-QAM调制及相干解调的设计与仿真.doc...

    通 信 原 理 课 程 设 计 报 告 题 目:基于MATLAB 的M-QAM调 制及相干解调的设计与仿真 班 级:通信工程 1411 姓 名: 成 绩: 日 期:2016 年 12 月 21 日 基 ...

  6. matlab 编程波形图,实验一MATLAB编程环境及其常用信号的生成及其波形仿真.doc

    word格式精心整理版 范文范例 学习指导 实验一 MATLAB编程环境及常用信号的生成及波形仿真 一.实验目的 1.学会运用Matlab表示常用连续时间信号的方法 2.观察并熟悉这些信号的波形和特性 ...

  7. matlab三相电路基波图形,毕业设计基于matlab的三相交流调压电路的设计与仿真.doc...

    本科毕业论文(设计) 题 目:基于Matlab的三相交流调压电路的设计与仿真 学 院:_____自动化工程学院_____ 专 业:___电气工程及其自动化___ 姓 名:_______________ ...

  8. 滑动轴承matlab程序,小弟求滑动轴承非线性油膜力matlab程序,最好是差分法的,谢谢 - 机械 - 小木虫 - 学术 科研 互动社区...

    % This function is used to calculate the pressure distribution of journal bearing without taking the ...

  9. 用Matlab解二阶非齐次微分方程

    用Matlab解二阶非齐次微分方程 大纲 函数 代码 大纲 用Matlab解二阶非齐次微分方程,网上很多麻烦又累赘又无用的东西,一句话解决的事. 函数 dsolve('a','b','c'):解微分方 ...

最新文章

  1. opencv python 中cv2.putText()函数的用法
  2. 开源调度框架xxl-job集成SpringBatch详解
  3. GARFIELD@04-14-2005
  4. java改变变量编码方式_Java 8中的5个功能将改变您的编码方式
  5. echarts自定义图例legend文字和样式
  6. 大坑!有网,电脑qq登不上去!!
  7. 前端学习(1928)vue之电商管理系统电商系统之美化一层循环的UI结构for循环ui美化
  8. 阿里云 服务器 系统 php mysql_阿里云服务器配环境(Ubuntu 16.04+Nginx+MySQL+PHP)并部署hexo博客...
  9. python列表的排序方法_Python 列表 sort() 方法
  10. zynq开发系列4:EMIO连接按键控制MIO连接的灯
  11. 摄影构图如何脱离规则套路
  12. idea快捷键 java
  13. 面试阿里被问的哑口无言,原来我……
  14. 【C/C++学院】0901-设计模式的汇总演练
  15. UVA1335 Beijing Guards
  16. DECA:基于单张静态图像,进行 3D 人脸建模
  17. pycharm中安装pymysql
  18. Opencv像素值的存储及访问机制
  19. 微信个性签名怎么弄成竖的?不仅可以竖着还可以加边框效果!
  20. 记一次在Taro开发的微信小程序中使用lottie动画的经验

热门文章

  1. 关于result = unpickler.load()ModuleNotFoundError: No module named ‘models‘解决
  2. 浅谈const和constant(常量)
  3. Linux kermit配置及使用
  4. 微信墙如何搭建服务器地址,如何制作微信墙
  5. 关键路径法(Critical Path Method, CPM)
  6. 数论学习四之——威尔逊定理
  7. windows10 添加键盘音效
  8. 关于uint与int
  9. nexus在docker安装nexus与初始密码问题
  10. 详解C语言中的switch语句