当前位置: 首页 > news >正文

MATLAB 时间序列小波周期分析

1. 文件结构

WaveletPeriod/
├── main_wavelet_period.m   % 一键运行
├── wavelet_power_spectrum.m % 小波功率谱 + 显著性
├── period_peak_detect.m     % 自动周期峰值
├── plot_wavelet_results.m   % 时频图 + 周期图
└── example/└── temp.csv             % 示例月平均温度

2. 核心函数

① 小波功率谱(wavelet_power_spectrum.m)
function [W, period, scale, sig95] = wavelet_power_spectrum(x, dt, mother)
% 输入:
%   x     : 1×N 时间序列
%   dt    : 采样间隔(月/日/年)
%   mother: 'Morlet'(默认)
% 输出:
%   W     : 小波功率谱(N×Nscale)
%   period: 周期向量(与 W 行对应)
%   sig95 : 95% 显著性水平if nargin<3, mother = 'Morlet'; end
% 1. 选择母小波
[wave, scale] = morlet_wavelet(length(x), dt);
% 2. 连续小波变换
W = cwt(x, scale, wave);
% 3. 显著性检验(红噪声背景)
sig95 = red_noise_significance(x, dt, scale);
end
② Morlet 母小波生成(morlet_wavelet.m)
function [wave, scale] = morlet_wavelet(N, dt)
s0   = 2*dt;           % 最小尺度
dj   = 0.125;          % 尺度步长
J    = floor(log2(N)*dj^-1);
scale = s0 * 2.^((0:J)*dj);
wave  = { @(s,t) pi^(-0.25) .* exp(1j*5*t./s) .* exp(-0.5*(t./s).^2) };
end
③ 显著性检验(红噪声背景)
function sig95 = red_noise_significance(x, dt, scale)
% Torrence & Compo 红噪声显著性
alpha = ar1_coeff(x);                % 估计 AR(1) 系数
varx  = var(x);
sig95 = varx * (1-alpha^2) ./ (1 - 2*alpha*cos(2*pi/(scale/dt)) + alpha^2);
sig95 = sig95 * 0.95;                % 95% 分位
end

3. 运行(main_wavelet_period.m)

clear; clc; close all; addpath('.');%% 1. 读入时间序列(月平均温度)
data = readmatrix('example/temp.csv');  % 两列:日期, 温度
t    = data(:,1);   x = data(:,2);
dt   = 1;           % 月间隔%% 2. 小波功率谱
[W, period, scale, sig95] = wavelet_power_spectrum(x, dt);%% 3. 周期峰值检测
[pkPer, pkVal] = period_peak_detect(W, period);%% 4. 可视化
plot_wavelet_results(t, x, W, period, sig95, pkPer, pkVal);

4. 结果可视化(plot_wavelet_results.m)

  • 左侧:小波功率谱时频图(暖色 = 高能量)
  • 右侧:全局小波谱(蓝线)+ 95% 显著性(红线)+ 峰值标注

示例输出

  • 显著周期:12 个月(年循环)
  • 次峰值:6 个月(半年谐波)

参考代码 用于时间序列的小波周期分析 www.youwenfan.com/contentcsh/53539.html

5. 结果指标(示例月温度)

周期能量峰值显著性
12 月0.84>95 %
6 月0.31>95 %

文章转载自:

http://qMdDuwUo.qhrsy.cn
http://t2nZOyCs.qhrsy.cn
http://ARPjpPwB.qhrsy.cn
http://T9dqBEFf.qhrsy.cn
http://ReUCR9J9.qhrsy.cn
http://zYjLmc2K.qhrsy.cn
http://vc9fa7rJ.qhrsy.cn
http://uDSv2dBU.qhrsy.cn
http://nzTjy6hK.qhrsy.cn
http://XwZnZYWv.qhrsy.cn
http://spZcFtco.qhrsy.cn
http://rCak1D8y.qhrsy.cn
http://mGpX5GFM.qhrsy.cn
http://3yJWY1C7.qhrsy.cn
http://xSWNXMFl.qhrsy.cn
http://sGLODjOI.qhrsy.cn
http://2XMfT44R.qhrsy.cn
http://pnbQFS04.qhrsy.cn
http://tpqFQ4CD.qhrsy.cn
http://3XC0IkKC.qhrsy.cn
http://5YOc4xHS.qhrsy.cn
http://GF8K2T1O.qhrsy.cn
http://u79FYJ9A.qhrsy.cn
http://eaosSfYY.qhrsy.cn
http://BEPkyFaJ.qhrsy.cn
http://RTnEHSRz.qhrsy.cn
http://PfF8nBGG.qhrsy.cn
http://eJQVlOe5.qhrsy.cn
http://X1e3A3WP.qhrsy.cn
http://DSPHzcMB.qhrsy.cn
http://www.dtcms.com/a/387325.html

相关文章:

  • 计算机视觉进阶教学之DNN模块
  • 大模型无需懂MCP:工具调用范式的架构革命与实践指南
  • 剑指offer题单 9.14
  • IIS 站点 http 请求412问题解决
  • Web前端入门:从零开始做网站(视频教程)
  • 本地--Oracle表被锁了该如何处理
  • Doris与Clickhouse分析
  • ByteDance字节前端一面
  • 卫星通信+AI双核驱动,遨游智能三防手机连得上、会思考
  • 云手机通道具有哪些方面的优势
  • 前端实验(二)初识Vue
  • html.
  • 【人工智能与机器人研究】基于多模态的管道非接触式磁记忆检测方法研究
  • DIY Linux 桌面:让电脑再次快速运行
  • MySQL基础入门:开启数据库之旅
  • C++开发者如何开发自己的第一个mac应用(xcode + XIB + Objective-C C++)
  • LabVIEW风洞测试系统稳定性措施
  • Spring Boot 深入剖析:SpringBoot的启动流程
  • 机器人工具标定-记录一下-待验证(没数据)
  • 1.0 Labview中事件结构在while循环中使用注意事项(超时时间)
  • 微服务通信
  • 重定向、命令行判断、管道、正则三剑客
  • 破垄断!东土科技与海光信息联合发布全国产化工控系统,筑牢工业安全新底座
  • 一场史诗级的冒险——Docker命令大航海!
  • 基于 Node.js 的后端框架:NestJS 和 Express(二)
  • 大数据时代时序数据库选型指南:为何Apache IoTDB成优选——从技术架构与行业实践深度剖析
  • HBase 实战:3 步掌握基于 Rowkey 的数据更新技巧
  • 【Android】Jetpack Media3 播放音频文件
  • 算法 --- 队列 + 宽搜(BFS)
  • 苹果手机怎么导出App数据目录,iOS文件管理、应用沙盒访问、日志缓存导出与性能调试实战(uni-app开发者指南)