热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

matlab编程分叉与混沌,[转载]Matlab——混沌分岔图

经过近期的研究发现,目前对于系统单参数分岔图的计算共有以下的几种方法:1)最大值法即对系统微分方程(组)进行求解,对求解的结果用getma

经过近期的研究发现,目前对于系统单参数分岔图的计算共有以下的几种方法:

1)最大值法

即对系统微分方程(组)进行求解,对求解的结果用getmax函数进行取点,并绘图。

2)Poincare截面法

对系统参数的每一次取值,绘制其Poincare截面,进而得到其分岔图。

这种方法需要注意的是,自治系统的Poincare截面是选取一超平面,平面上点的分布即构成一Poincare截面,非自治系统的Poincare截面则是根据系统激励的频率进行取点并绘图。

本帖将以Lorenz系统为例,对这两种方法进行比较

首先对第二种方法进行阐述。

编程如下(matlab)

Lorenz系统:

function dy = Lorenz(t,y)

% Lorenz系统

% 系统微分方程:

%

dx/dt = -a(x-y)

%

dy/dt = x(r-z)-y

%

dz/dt = xy-bz

%

a=y(4)

%    r=y(5)

%

b=y(6)

dy=zeros(6,1);

dy(1)=-y(4)*(y(1)-y(2));

dy(2)=y(1)*(y(5)-y(3))-y(2);

dy(3)=y(1)*y(2)-y(6)*y(3);

dy(4)=0;

dy(5)=0;

dy(6)=0;​

随r的分岔图求解程序:——按照x=y平面取截面

function Lorenz_bifur_r

Z=[];

for r=linspace(1,500,1000); %

舍弃前面迭带的结果,用后面的结果画图

[T,Y]=ode45('Lorenz',[0,1],[1;1;1;16;r;4]);

[T,Y]=ode45('Lorenz',[0,50],Y(length(Y),:));

Y(:,1)=Y(:,2)-Y(:,1); %

对计算结果进行判断,如果点满足x=y,则取点

for k=2:length(Y)

f=k-1;

if

Y(k,1)<0

if Y(f,1)>0

y&#61;Y(k,2)-Y(k,1)*(Y(f,2)-Y(k,2))/(Y(f,1)-Y(k,1));

Z&#61;[Z r&#43;abs(y)*i];

end

else     if

Y(f,1)<0  y&#61;Y(k,2)-Y(k,1)*(Y(f,2)-Y(k,2))/(Y(f,1)-Y(k,1));

Z&#61;[Z r&#43;abs(y)*i];

end

end

end

end

plot(Z,&#39;.&#39;,&#39;markersize&#39;,1)title(&#39;Lorenz映射分岔图&#39;)xlabel(&#39;r&#39;),ylabel(&#39;|y|

where x&#61;y&#39;)

getmax法——取最大值法

function [Xmax] &#61; getmax(y)

a&#61;length(y);

j&#61;1;

for i&#61;(a-1)/2:a

b&#61;(y(i,1)-y(i-2,1))/2;

c&#61;(y(i,1)&#43;y(i-2,1))/2-y(i-1,1);

if

y(i-2,1)<&#61;y(i-1,1)&y(i-1,1)>&#61;y(i,1)&c&#61;&#61;0

Xmax(j)&#61;y(i-1,1);

j&#61;j&#43;1;

elseif

y(i-2,1)<&#61;y(i-1,1)&y(i-1,1)>&#61;y(i,1)Xmax(j)&#61;y(i-1,1)-b^2/(4*c);

j&#61;j&#43;1;

end

end

function Lorenz_bifur_r_getmax% 最大值法求解分岔图

clear all

t0&#61;[0 100];%积分时间

%bifurcation

for r&#61;linspace(1,500,1000);  %r的变化精度

[t,y]&#61;ode45(&#39;Lorenz&#39;,t0,[1;1;1;16;r;4]);

[Xmax]&#61;getmax(y(:,1));

plot(r,Xmax,&#39;b&#39;,&#39;markersize&#39;,1)

hold on

clear Xmax

end



推荐阅读
  • 本文介绍了闭包的定义和运转机制,重点解释了闭包如何能够接触外部函数的作用域中的变量。通过词法作用域的查找规则,闭包可以访问外部函数的作用域。同时还提到了闭包的作用和影响。 ... [详细]
  • YOLOv7基于自己的数据集从零构建模型完整训练、推理计算超详细教程
    本文介绍了关于人工智能、神经网络和深度学习的知识点,并提供了YOLOv7基于自己的数据集从零构建模型完整训练、推理计算的详细教程。文章还提到了郑州最低生活保障的话题。对于从事目标检测任务的人来说,YOLO是一个熟悉的模型。文章还提到了yolov4和yolov6的相关内容,以及选择模型的优化思路。 ... [详细]
  • GetWindowLong函数
    今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
  • PHP图片截取方法及应用实例
    本文介绍了使用PHP动态切割JPEG图片的方法,并提供了应用实例,包括截取视频图、提取文章内容中的图片地址、裁切图片等问题。详细介绍了相关的PHP函数和参数的使用,以及图片切割的具体步骤。同时,还提供了一些注意事项和优化建议。通过本文的学习,读者可以掌握PHP图片截取的技巧,实现自己的需求。 ... [详细]
  • Commit1ced2a7433ea8937a1b260ea65d708f32ca7c95eintroduceda+Clonetraitboundtom ... [详细]
  • 目录实现效果:实现环境实现方法一:基本思路主要代码JavaScript代码总结方法二主要代码总结方法三基本思路主要代码JavaScriptHTML总结实 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • Python正则表达式学习记录及常用方法
    本文记录了学习Python正则表达式的过程,介绍了re模块的常用方法re.search,并解释了rawstring的作用。正则表达式是一种方便检查字符串匹配模式的工具,通过本文的学习可以掌握Python中使用正则表达式的基本方法。 ... [详细]
  • 展开全部下面的代码是创建一个立方体Thisexamplescreatesanddisplaysasimplebox.#Thefirstlineloadstheinit_disp ... [详细]
  • 不同优化算法的比较分析及实验验证
    本文介绍了神经网络优化中常用的优化方法,包括学习率调整和梯度估计修正,并通过实验验证了不同优化算法的效果。实验结果表明,Adam算法在综合考虑学习率调整和梯度估计修正方面表现较好。该研究对于优化神经网络的训练过程具有指导意义。 ... [详细]
  • 本文介绍了PE文件结构中的导出表的解析方法,包括获取区段头表、遍历查找所在的区段等步骤。通过该方法可以准确地解析PE文件中的导出表信息。 ... [详细]
  • 利用Visual Basic开发SAP接口程序初探的方法与原理
    本文介绍了利用Visual Basic开发SAP接口程序的方法与原理,以及SAP R/3系统的特点和二次开发平台ABAP的使用。通过程序接口自动读取SAP R/3的数据表或视图,在外部进行处理和利用水晶报表等工具生成符合中国人习惯的报表样式。具体介绍了RFC调用的原理和模型,并强调本文主要不讨论SAP R/3函数的开发,而是针对使用SAP的公司的非ABAP开发人员提供了初步的接口程序开发指导。 ... [详细]
  • 闭包一直是Java社区中争论不断的话题,很多语言都支持闭包这个语言特性,闭包定义了一个依赖于外部环境的自由变量的函数,这个函数能够访问外部环境的变量。本文以JavaScript的一个闭包为例,介绍了闭包的定义和特性。 ... [详细]
  • C++中的三角函数计算及其应用
    本文介绍了C++中的三角函数的计算方法和应用,包括计算余弦、正弦、正切值以及反三角函数求对应的弧度制角度的示例代码。代码中使用了C++的数学库和命名空间,通过赋值和输出语句实现了三角函数的计算和结果显示。通过学习本文,读者可以了解到C++中三角函数的基本用法和应用场景。 ... [详细]
author-avatar
飘泊的牛小盆友
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有