iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >基于Matlab实现离散系统分岔图的绘制
  • 377
分享到

基于Matlab实现离散系统分岔图的绘制

2024-04-02 19:04:59 377人浏览 安东尼
摘要

目录1.一维离散分岔图2.二维离散分岔图3.封面图绘制1.一维离散分岔图 一维那非常简单哈,就循环着画呗,以下举两个简单的例子 : % x(n+1)=1-r*x(n)^2 %

1.一维离散分岔图

一维那非常简单哈,就循环着画呗,以下举两个简单的例子 :

% x(n+1)=1-r*x(n)^2  
% (r∈(0,2),x∈[-1,1])的分支混沌图。
hold on

f=@(x,r)1-r.*x.^2;
r=0:.01:2;
x=0; % x初值

for n=1:1000 
    x=f(x,r);
    if n>100 % 稳定后开始绘图 
        plot(r,x,'k.','MarkerSize',1);
        drawnow
    end
end

图片

% LoGIStic系统
% x(n+1)=r*x(n)-r*x(n)^2  
% (r∈(2.6,4),x∈(0,1])的分支混沌图。
hold on

f=@(x,r)r.*x-r.*x.^2;
r=2.6:.01:4;
x=0.6; % x初值

for n=1:1000 
    x=f(x,r);
    if n>100 % 稳定后开始绘图 
        plot(r,x,'k.','MarkerSize',1);
        drawnow
    end
end

图片

横坐标代表参数的数值,纵坐标表示该参数数值下序列可能的取值,n>100再开始画图是为了让序列通过迭代稳定下来,事实上我么可以不设置n>100,同时将颜色设置为随着n变化的渐变色,可以发现几乎看不出渐变来,该序列稳定的很快(以下是绘图部分代码的微调):

c1=[0 0.4470 0.7410];
c2=[0.6350 0.0780 0.1840];
N=1000;
for n=1:N
    x=f(x,r);
    plot(r,x,'.','Color',(n.*c1+(N-n).*c2)./N,'MarkerSize',2);
    drawnow
end

图片

当然我们可以设置n为奇数和偶数时绘制不同颜色,下图所示,对于该系统而言,其序列的数值是反复横跳的(以下是绘图部分代码的微调):

图片

当然可以设置更多颜色:

for n=1:1000
    x=f(x,r);
    switch mod(n,4)
        case 3,plot(r,x,'.','Color',[0.4660 0.6740 0.1880],'MarkerSize',2);
        case 2,plot(r,x,'.','Color',[0.8500 0.3250 0.0980],'MarkerSize',2);
        case 1,plot(r,x,'.','Color',[0 0.4470 0.7410],'MarkerSize',2);
        case 0,plot(r,x,'.','Color',[0.6350 0.0780 0.1840],'MarkerSize',2);
    end
    drawnow
end

图片

2.二维离散分岔图

绘制Henon系统的分岔图:

定住b值不变,改变a值,观察y序列,不同b值时绘制效果不同:

% x(n+1)=1+y(n)-a*x(n)^2
% y(n+1)=b*x(n)
% Henon系统
hold on

fx=@(x,y,a)1+y-a.*x.^2;
fy=@(x,b)b.*x;
a=0:.002:1.4;b=0.2;
x=0;y=0;

for n=1:800 
    lx=x;
    ly=y;
    x=fx(lx,ly,a);
    y=fy(lx,b);
    if n>100 % 稳定后开始绘图 
        plot(a,y,'k.','MarkerSize',1);
        drawnow
    end
end

b=0.2时绘制效果

图片

b=0.3时绘制效果

图片

3.封面图绘制

经典体现理科生工科生艺术情怀环节,我们怎么能够将分岔图的美忽视?

感觉大家很多也是因为看封面图点进来的,虽然不短,但还是把代码放一下叭,原理很简单,构造一个矩阵统计各个位置点数量,然后依据点数量映射到颜色:

图一

% x(n+1)=1+y(n)-a*x(n)^2
% y(n+1)=b*x(n)
% Henon系统

fx=@(x,y,a)1+y-a.*x.^2;
fy=@(x,b)b.*x;
a=0:.002:1.4;b=0.3;
x=0;y=0;

% 填充矩阵
pntMat=zeros(451,701);
for n=1:12000
    lx=x;
    ly=y;
    x=fx(lx,ly,a);
    y=fy(lx,b);
    disp(['进度:[',num2str(n),'/12000]']);
    ty=round((y+0.4)*500);
    ta=a*500;
    index=round((ta).*451+ty);
    pntMat(index)=pntMat(index)+1;
end

% 矩阵上下翻转(坐标y轴方向与图片序数相反)
pntMat=flipud(pntMat);
% 绘图
imagesc(pntMat);
caxis([0,50])
ax=GCa;
hold on;
ax.XTick=[];
ax.YTick=[];

% 颜色映射
map=[0.1294 0.0549 0.1725;0.2196 0.1608 0.2902;0.3882 0.1804 0.4941;
     0.4392 0.1922 0.4706;0.5333 0.2235 0.4392;0.6471 0.2588 0.3686;
     0.7137 0.2745 0.3294;0.7725 0.3059 0.2902;0.8510 0.3725 0.2275;
     0.9137 0.4196 0.1804;0.9608 0.5020 0.2000;0.9765 0.5529 0.2078;
     0.9804 0.6431 0.2549;0.9843 0.6627 0.2706;0.9765 0.7176 0.3412;
     0.9765 0.7686 0.4000;0.9765 0.8118 0.4902;0.9725 0.8510 0.5961;
     0.9882 0.9020 0.6667;1.0000 0.9451 0.8431;1.0000 0.9961 0.9804;
     1.0000 1.0000 1.0000];
Xi=1:size(map,1);Xq=linspace(1,size(map,1),800);
map=[interp1(Xi,map(:,1),Xq,'linear')',...
     interp1(Xi,map(:,2),Xq,'linear')',...
     interp1(Xi,map(:,3),Xq,'linear')'];
 colORMap(map)

图片

图二

% x(n+1)=1-r*x(n)^2  
% (r∈(0,2),x∈[-1,1])的分支混沌图。
f=@(x,r)1-r.*x.^2;
r=0:.0025:2;
x=0; % x初值

pntMat=zeros(801,801);

for n=1:20000 
    x=f(x,r);
    disp(['进度:[',num2str(n),'/20000]']);
    if n>1 % 稳定后开始绘图     
        tx=round((x+1)*400);
        tr=r*400;
        index=round((tr).*801+tx);
        pntMat(index)=pntMat(index)+1;
    end
end

% 为了减少锯齿化高斯模糊一下
pntMat=imgaussfilt(pntMat,0.3);

% 矩阵上下翻转(坐标y轴方向与图片序数相反)
pntMat=flipud(pntMat);
% 绘图
imagesc(pntMat);
caxis([0,80])
ax=gca;
hold on;
ax.XTick=[];
ax.YTick=[];

% 颜色映射
map=[0.1400    0.1100    0.1500
    0.2800    0.0900    0.4100
    0.2700    0.2100    0.5100
    0.2300    0.3200    0.5500
    0.1900    0.4200    0.5600
    0.1500    0.5100    0.5600
    0.1200    0.5800    0.5500
    0.1400    0.6700    0.5100
    0.2400    0.7300    0.4600
    0.3900    0.8000    0.3700
    0.5900    0.8500    0.2500];
Xi=1:size(map,1);Xq=linspace(1,size(map,1),800);
map=[interp1(Xi,map(:,1),Xq,'linear')',...
     interp1(Xi,map(:,2),Xq,'linear')',...
     interp1(Xi,map(:,3),Xq,'linear')'];
 colormap(map)

图片

到此这篇关于基于Matlab实现离散分岔图的绘制的文章就介绍到这了,更多相关Matlab离散分岔图内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 基于Matlab实现离散系统分岔图的绘制

本文链接: https://www.lsjlt.com/news/147570.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 基于Matlab实现离散系统分岔图的绘制
    目录1.一维离散分岔图2.二维离散分岔图3.封面图绘制1.一维离散分岔图 一维那非常简单哈,就循环着画呗,以下举两个简单的例子 : % x(n+1)=1-r*x(n)^2 % ...
    99+
    2024-04-02
  • 基于Matlab实现山脊图的绘制
    目录纯色山脊图模板渐变色山脊图模板写了一个用于绘制山脊图的模板,仅需要往需要填写数据的区域填入数据点击运行即可,以下提供两款模板,第一款为纯色模板而第二款为渐变色模板: 纯色山脊图模...
    99+
    2024-04-02
  • Pythonmatplotlib实现散点图的绘制
    目录一、整理数据二、修改点的样式三、呈现半透明的状态四、点呈现多彩的颜色五、让点的大小不一六、侧边呈现颜色卡七、改变集中性一、整理数据 import pandas as pd cn...
    99+
    2024-04-02
  • Python+Pyecharts实现散点图的绘制
    目录第1关:Scatter:散点图(一)编程要求代码测试说明第2关:Scatter:散点图(二)编程要求代码测试说明第3关:Scatter:散点图(三)编程要求代码测试说明第1关:S...
    99+
    2024-04-02
  • Matlab实现二维散点主方向直方图的绘制详解
    目录工具函数基本使用多组数据修改配色精细修饰简简单单画个二维散点图主方向上的直方图: 工具函数 输入nx2大小的数组,返回以下四个图形对象: H1: ‘数据点&rsqu...
    99+
    2024-04-02
  • 基于Matlab绘制小提琴图的示例代码
    目录violinChart 函数使用方法基础使用,Y为矩阵基础使用,Y为向量,X为标签基础使用,多个图像绘制,并添加图例violinChart 完整函数ggtheme violin ...
    99+
    2024-04-02
  • 基于Python+Matplotlib实现直方图的绘制
    目录1.关于直方图2.plt.hist()3. 绘制一幅简单的 频数 分布直方图4. 绘制一幅 频率 分布直方图5. 累积分布直方图(水平方向)1.关于直方图 直...
    99+
    2024-04-02
  • 基于Matlab实现数字音频分析处理系统
    目录一、语音处理简介1语音信号的特点2语音信号的采集3语音信号分析技术4语音信号的时域分析5语音信号的频域分析二、部分源代码三、运行结果一、语音处理简介 1 语音信号的特点 通过对大...
    99+
    2024-04-02
  • 基于Matlab制作一个不良图片检测系统
    目录不良图片检测部分part.0 图片导入part.1 检查是否为肤色part.2 皮肤区域标记part.3 通过皮肤区域特点判定是否为不良图片完整代码批量处理部分不良图片检测部分 ...
    99+
    2024-04-02
  • 基于Python实现绘制属于你的世界地图
    目录1.准备2.简单地图3.世界地图Python之所以这么流行,是因为它不仅能够应用于科技领域,还能用来做许多其他学科的研究工具,绘制地图便是其功能之一。 今天我们用matplot工...
    99+
    2022-11-13
    Python绘制世界地图 Python世界地图 Python 地图
  • 基于Echart实现折线图的绘制详解
    效果图 不显示折线图上的拐点方法 ,3个都可以使用,代码中有显示在什么位置使用。 symbolSize:0, symbol:“none”, showSymb...
    99+
    2024-04-02
  • Python&Matlab实现伏羲八卦图的绘制
    目录1 与达尔文对话2 与老子对话2.1 Python实现2.2 Matlab实现 1 与达尔文对话 140年前,1858年7月1日,达尔文在英伦岛发表了自己有关自然选择的...
    99+
    2024-04-02
  • 基于Python+Matplotlib怎么实现直方图的绘制
    今天小编给大家分享一下基于Python+Matplotlib怎么实现直方图的绘制的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧...
    99+
    2023-06-30
  • 基于C#实现在图片上绘制文字
    目录实践过程效果代码实践过程 效果 代码 public partial class Form1 : Form { public Form1() { ...
    99+
    2022-12-19
    C#图片绘制文字 C#图片 文字
  • 如何基于Matlab实现数字音频分析处理系统
    这篇文章主要介绍了如何基于Matlab实现数字音频分析处理系统,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、语音处理简介1 语音信号的特点通过对大量语音信号的观察和分析发...
    99+
    2023-06-29
  • 利用Matlab实现阴影柱状图的绘制
    目录示例图使用教程1.基本使用2.添加图例3.阴影格式4.特殊结构5.额外修饰工具函数完整代码封面图绘制代码阴影柱状图绘制的代码MATHWORKS上也有,不过是生成图片后,识别图像上...
    99+
    2024-04-02
  • Matlab实现绘制有气泡感的网络图
    目录教程部分0 数据准备1 基础绘图2 气泡大小3 气泡颜色4 气泡其他属性5 连线配色6 添加节点及类标签7 标签距离8 设置字体工具函数完整代码今天给大家带来一款用来绘制有气泡感...
    99+
    2023-02-22
    Matlab绘制网络图 Matlab 网络图
  • 基于Java+SpringBoot+Vue前后端分离图书管理系统设计和实现
    博主介绍:✌全网粉丝30W+,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联...
    99+
    2023-09-05
    java spring boot vue.js 图书管理系统 原力计划
  • 利用Python Matlab绘制曲线图的实例分析
    利用Python Matlab绘制曲线图的实例分析,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。一、简介我们在这里采用Python中的matplotl...
    99+
    2023-06-22
  • 基于Vue3实现的图片散落效果实例
    目录背景做啥好呢出现问题原理HTML结构准备5张图片创建div切换背景图片div存在间隙的问题代码详情总结背景 今天又是美好的摸鱼一天,刚刚进入职场,觉得一切都很新鲜,导师给的任务也...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作