【数据分析】多重分形去趋势波动分析附matlab代码

简介: 【数据分析】多重分形去趋势波动分析附matlab代码

 ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

智能优化算法  神经网络预测雷达通信 无线传感器

信号处理图像处理路径规划元胞自动机无人机

⛄ 内容介绍

Fractal structures are found in biomedical time series from a wide range of physiological

phenomena. The multifractal spectrum identififies the deviations in fractal structure within

time periods with large and small flfluctuations. The present tutorial is an introduction to

multifractal detrended flfluctuation analysis (MFDFA) that estimates the multifractal spec

trum of biomedical time series. The tutorial presents MFDFA step-by-step in an interactive

Matlab session. All Matlab tools needed are available in Introduction to MFDFA folder at the

website www.ntnu.edu/inm/geri/software. MFDFA are introduced in Matlab code boxes

where the reader can employ pieces of, or the entire MFDFA to example time series. After

introducing MFDFA, the tutorial discusses the best practice of MFDFA in biomedical signal

processing. The main aim of the tutorial is to give the reader a simple self-sustained guide

to the implementation of MFDFA and interpretation of the resulting multifractal spectra.

⛄ 部分代码

YMatrix1=[multifractal.*30,RW3];

YMatrix2=[monofractal.*30,RW2];

YMatrix3=[whitenoise.*30,RW1];

X1=2600:3600;

Y1=RW3(2600:3600);

% Create figure

figure1 = figure('PaperType','a4letter','PaperSize',[20.98 29.68],...

   'Color',[1 1 1]);

% Create axes

axes1 = axes('Parent',figure1,'YTickLabel',{'0','200','400','600'},...

   'YTick',[0 200 400 600],...

   'XTickLabel',{},...

   'XTick',zeros(1,0),...

   'Position',[0.13 0.6545 0.7745 0.2705],...

   'LineWidth',2,...

   'FontSize',14);

% Uncomment the following line to preserve the Y-limits of the axes

ylim(axes1,[-220 700]);

hold(axes1,'all');

% Create multiple lines using matrix input to plot

pplot1 = plot(YMatrix1,'Parent',axes1);

set(pplot1(2),'LineWidth',2,'Color',[1 0 0]);

% Create axes

axes2 = axes('Parent',figure1,'YTickLabel',{},'YTick',zeros(1,0),...

   'XTick',zeros(1,0),...

   'Position',[0.6641 0.8264 0.1875 0.1359],...

   'LineWidth',2);

% Uncomment the following line to preserve the Y-limits of the axes

ylim(axes2,[370 570]);

box(axes2,'on');

hold(axes2,'all');

% Create plot

plot(X1,Y1,'Parent',axes2,'LineWidth',2,'Color',[1 0 0]);

% Create axes

axes3 = axes('Parent',figure1,'YTickLabel',{'0','200','400','600'},...

   'YTick',[0 200 400 600],...

   'XTickLabel',{},...

   'XTick',zeros(1,0),...

   'Position',[0.13 0.3833 0.7745 0.272],...

   'LineWidth',2,...

   'FontSize',14);

% Uncomment the following line to preserve the Y-limits of the axes

ylim(axes3,[-220 700]);

hold(axes3,'all');

% Create multiple lines using matrix input to plot

pplot2 = plot(YMatrix2,'Parent',axes3);

set(pplot2(1),'DisplayName','Noise like time series');

set(pplot2(2),'LineWidth',2,'Color',[1 0 0],...

   'DisplayName','Random walk like time series');

% Create ylabel

ylabel('Amplitude (measurement units)','FontSize',14);

% Create axes

axes4 = axes('Parent',figure1,'YTickLabel',{'-200','0','200','400','600'},...

   'YTick',[0 200 400 600],...

   'XTickLabel',{'0','1?00','2?00','3?00','4?00','5?00','6?00','7?00','8?00'},...

   'XTick',[0 1000 2000 3000 4000 5000 6000 7000 8000],...

   'Position',[0.13 0.1108 0.7745 0.2723],...

   'LineWidth',2,...

   'FontSize',14);

ylim(axes4,[-220 700]);

hold(axes4,'all');

% Create multiple lines using matrix input to plot

pplot3 = plot(YMatrix3,'Parent',axes4);

set(pplot3(2),'LineWidth',2,'Color',[1 0 0]);

% Create xlabel

xlabel('time (sample number)','FontSize',14);

% Create legend

legend1 = legend(axes3,'show');

set(legend1,'LineWidth',2);

% Create textbox

annotation(figure1,'textbox',[0.2362 0.6476 0.1934 0.04038],...

   'String',{'Monofractal time series'},...

   'FontSize',14,...

   'FitBoxToText','off',...

   'LineStyle','none');

% Create textbox

annotation(figure1,'textbox',[0.2362 0.9246 0.1822 0.04038],...

   'String',{'Multifractal time series'},...

   'FontSize',14,...

   'FitBoxToText','off',...

   'LineStyle','none');

% Create textbox

annotation(figure1,'textbox',[0.238 0.2453 0.1057 0.04038],...

   'String',{'White noise'},...

   'FontSize',14,...

   'FitBoxToText','off',...

   'LineStyle','none');

% Create line

annotation(figure1,'line',[0.3828 0.3828],[0.8978 0.8278]);

% Create line

annotation(figure1,'line',[0.3828 0.4714],[0.8281 0.8291]);

% Create line

annotation(figure1,'line',[0.4713 0.4713],[0.8294 0.9004]);

% Create line

annotation(figure1,'line',[0.3828 0.4705],[0.8995 0.9004]);

% Create line

annotation(figure1,'line',[0.4705 0.6632],[0.8291 0.8277]);

% Create line

annotation(figure1,'line',[0.4696 0.6667],[0.9017 0.9637]);

% Create line

annotation(figure1,'line',[0.1302 0.1293],[0.9327 0.8977],'LineWidth',4,...

   'Color',[1 1 1]);

clear pplot1 pplot2 pplot3 legend1 axes1 figure1 axes2 figure2 axes3 figure3 ans axes4 X1 Y1 YMatrix1 YMatrix2 YMatrix3

⛄ 运行结果

image.gif编辑

image.gif编辑

image.gif编辑

image.gif编辑

image.gif编辑

image.gif编辑

image.gif编辑

正在上传…重新上传取消

image.gif编辑

image.gif编辑

image.gif编辑

⛄ 参考文献

[1]Espen Alexander Fürst E.A.F.I. Ihlen. Introduction to Multifractal Detrended Fluctuation Analysis in Matlab[J]. Frontiers, 2012.

❤️ 关注我领取海量matlab电子书和数学建模资料

❤️部分理论引用网络文献,若有侵权联系博主删除

相关文章
|
1月前
|
算法 人机交互 数据安全/隐私保护
基于图像形态学处理和凸包分析法的指尖检测matlab仿真
本项目基于Matlab2022a实现手势识别中的指尖检测算法。测试样本展示无水印运行效果,完整代码含中文注释及操作视频。算法通过图像形态学处理和凸包检测(如Graham扫描法)来确定指尖位置,但对背景复杂度敏感,需调整参数PARA1和PARA2以优化不同手型的检测精度。
空心电抗器的matlab建模与性能仿真分析
空心电抗器是一种无铁芯的电感元件,通过多层并联导线绕制而成。其主要作用是限制电流、滤波、吸收谐波和提高功率因数。电抗器的损耗包括涡流损耗、电阻损耗和环流损耗。涡流损耗由交变磁场引起,电阻损耗与电抗器半径有关,环流损耗与各层电流相关。系统仿真使用MATLAB2022a进行。
|
2月前
|
编解码 算法 数据安全/隐私保护
基于BP译码的LDPC误码率matlab仿真,分析不同码长,码率,迭代次数以及信道类型对译码性能的影响
本内容介绍基于MATLAB 2022a的低密度奇偶校验码(LDPC)仿真,展示了完整的无水印仿真结果。LDPC是一种逼近香农限的信道编码技术,广泛应用于现代通信系统。BP译码算法通过Tanner图上的消息传递实现高效译码。仿真程序涵盖了不同Eb/N0下的误码率计算,并分析了码长、码率、迭代次数和信道类型对译码性能的影响。核心代码实现了LDPC编码、BPSK调制、高斯信道传输及BP译码过程,最终绘制误码率曲线并保存数据。 字符数:239
83 5
|
2月前
|
算法 数据安全/隐私保护
数字通信中不同信道类型对通信系统性能影响matlab仿真分析,对比AWGN,BEC,BSC以及多径信道
本项目展示了数字通信系统中几种典型信道模型(AWGN、BEC、BSC及多径信道)的算法实现与分析。使用Matlab2022a开发,提供无水印运行效果预览图、部分核心代码及完整版带中文注释的源码和操作视频。通过数学公式深入解析各信道特性及其对系统性能的影响。
|
4月前
|
数据挖掘 UED
ChatGPT数据分析——探索性分析
ChatGPT数据分析——探索性分析
80 1
|
4月前
|
数据可视化 数据挖掘 数据处理
ChatGPT数据分析应用——热力图分析
ChatGPT数据分析应用——热力图分析
175 1
|
4月前
|
数据挖掘
ChatGPT在常用的数据分析方法中的应用(分组分析)
ChatGPT在常用的数据分析方法中的应用(分组分析)
101 1
|
4月前
|
数据挖掘 数据处理
ChatGPT在常用的数据分析方法中的应用(交叉分析)
ChatGPT在常用的数据分析方法中的应用(交叉分析)
77 1
|
4月前
|
编解码 算法 数据安全/隐私保护
基于BP译码的LDPC误码率matlab仿真,分析码长,码率,信道对译码性能的影响,对比卷积码,turbo码以及BCH码
本程序系统基于BP译码的LDPC误码率MATLAB仿真,分析不同码长、码率、信道对译码性能的影响,并与卷积码、Turbo码及BCH编译码进行对比。升级版增加了更多码长、码率和信道的测试,展示了LDPC码的优越性能。LDPC码由Gallager在1963年提出,具有低复杂度、可并行译码等优点,近年来成为信道编码研究的热点。程序在MATLAB 2022a上运行,仿真结果无水印。
78 0
|
5月前
|
算法 数据可视化
基于SSA奇异谱分析算法的时间序列趋势线提取matlab仿真
奇异谱分析(SSA)是一种基于奇异值分解(SVD)和轨迹矩阵的非线性、非参数时间序列分析方法,适用于提取趋势、周期性和噪声成分。本项目使用MATLAB 2022a版本实现从强干扰序列中提取趋势线,并通过可视化展示了原时间序列与提取的趋势分量。代码实现了滑动窗口下的奇异值分解和分组重构,适用于非线性和非平稳时间序列分析。此方法在气候变化、金融市场和生物医学信号处理等领域有广泛应用。
327 19