基于小波分析的一维时间序列多重分形分析(MATLAB R2018a)

分形与小波变换在尺度性能上具有很多相似性,因此小波变换被认为是分析、刻画分形现象一个有力的工具。在分析分形的一般方法中,需要按照"盒维数"的计算思想,首先要将研究序列进行不同长度的分割,然后建立起结构函数,再研究结构函数与尺度之间的变化关系,若是多重分形分析则还要通过不同大小的幂次方操作将不同奇异点集区分开来。鉴于分形与小波之间在尺度上的相似性,应用小波来研究分形不需要再对序列进行分割,因为通过小波变换即可得到不同尺度上用于构建结构函数所需要的元素。

无论是连续小波变换还是离散小波变换,小波系数均能刻画出序列在不同时点上、不同尺度上的局部特征。因此,分形既然在不同尺度上具有自相似性,那么应用"显微镜"式的小波分析在不同放大倍数(尺度)的镜片下来考察系统的分形特性最自然不过了。

鉴于此,采用小波分析方法对一维时间序列进行多重分形分析,使用小波分形技术来表征局部信号的规则性,并给出几个例子,比如布朗过程,股票综合数据等。算法可迁移至金融时间序列,地震/微震信号,机械振动信号,声发射信号,电压/电流信号,语音信号,声信号,生理信号(ECG,EEG,EMG)等一维时间序列信号。程序运行环境为MATLAB R2018A。

Matlab 复制代码
function params = parseinputs(varargin)

params.wname = 'bior1.5';
params.j1 = 3;
params.q = -5:5;
params.cumulant = 3;
params.weight = 'uniform';
if isempty(varargin)
    return;
end

tf = find(strncmpi(varargin,'MinRegressionLevel',2));
if nnz(tf) == 1
    params.j1 = varargin{tf+1};
    validateattributes(params.j1,{'numeric'},{'scalar','integer', '>=',2},...
        'dwtleader','MinRegressionLevel');
    varargin(tf:tf+1) = [];
    if isempty(varargin)
        return;
    end
end

tf = find(strncmpi(varargin,'MaxRegressionLevel',2));
if nnz(tf) == 1
    params.J = varargin{tf+1};
    validateattributes(params.J,{'numeric'},{'scalar','integer', ...
        '>=',params.j1+1},'dwtleader','MaxRegressionLevel');
    varargin(tf:tf+1) = [];
    if isempty(varargin)
        return;
    end
end

tf = find(strncmpi(varargin,'RegressionWeight',1));
if nnz(tf) == 1
    params.weight = varargin{tf+1};
    validweights = {'uniform','scale'};
    params.weight = validatestring(params.weight,validweights);
    varargin(tf:tf+1) = [];
    if isempty(varargin)
        return;
    end
end

% Only remaining varargin argument must be wavelet
tf = cellfun(@(x)ischar(x),varargin);
if nnz(tf) == 1
    params.wname = varargin{tf>0};
    varargin(tf>0) = [];
else
    error('Invalid');
end

完整代码:https://mbd.pub/o/bread/mbd-ZJWZm5ps

if ~isempty(varargin)
    error(message('Wavelet:mfa:UnsupportedSyntax'));
end

工学博士,担任《Mechanical System and Signal Processing》《中国电机工程学报》《控制与决策》等期刊审稿专家,擅长领域:现代信号处理,机器学习,深度学习,数字孪生,时间序列分析,设备缺陷检测、设备异常检测、设备智能故障诊断与健康管理PHM等。

相关推荐
不知天地为何吴女士1 小时前
Day32| 509. 斐波那契数、70. 爬楼梯、746. 使用最小花费爬楼梯
算法
小坏坏的大世界1 小时前
C++ STL常用容器总结(vector, deque, list, map, set)
c++·算法
wjs20242 小时前
状态模式(State Pattern)
开发语言
我命由我123452 小时前
Kotlin 数据容器 - List(List 概述、创建 List、List 核心特性、List 元素访问、List 遍历)
java·开发语言·jvm·windows·java-ee·kotlin·list
liulilittle2 小时前
C++ TAP(基于任务的异步编程模式)
服务器·开发语言·网络·c++·分布式·任务·tap
励志要当大牛的小白菜3 小时前
ART配对软件使用
开发语言·c++·qt·算法
qq_513970443 小时前
力扣 hot100 Day56
算法·leetcode
白-胖-子4 小时前
深入剖析大模型在文本生成式 AI 产品架构中的核心地位
人工智能·架构
PAK向日葵4 小时前
【算法导论】如何攻克一道Hard难度的LeetCode题?以「寻找两个正序数组的中位数」为例
c++·算法·面试
想要成为计算机高手5 小时前
11. isaacsim4.2教程-Transform 树与Odometry
人工智能·机器人·自动驾驶·ros·rviz·isaac sim·仿真环境