当前位置: 首页 > 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/contentcnk/53539.html

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

周期 能量峰值 显著性
12 月 0.84 >95 %
6 月 0.31 >95 %
http://www.gsyq.cn/news/31928.html

相关文章:

  • 本地运行nginx服务,模拟线上环境访问项目
  • 基于Redis海量数据场景分布式ID生成实践
  • 分享精选文章合集 - 2025-10-27
  • 2025 年搅拌器搅拌设备,侧入式搅拌设备,斜插式揽拌设备,卧式搅拌设备厂家最新推荐,聚焦资质、案例、售后的五家企业深度解读
  • 2025 年环保搅拌设备,搅拌装置设备,框式搅拌设备厂家最新推荐,实力品牌深度解析采购无忧之选!
  • 2025质量可靠的义乌刺绣工厂推荐榜
  • 2025 年液压旋转接头,高温蒸汽旋转接头,通水旋转接头厂家最新推荐,精准检测与稳定性能深度解析
  • Linux基本命令篇 —— date命令
  • nef怎么转换成jpg格式你还不会?分享4个实用技巧
  • 2025年上海家电展会展台搭建服务商权威推荐榜单:展台搭建会展服务/会展展台装修设计/展台设计装修源头公司精选
  • macro出pin
  • 2025 年定制矿车,大型矿车,固定式矿车厂家最新推荐,产能、专利、环保三维数据透视
  • 2025 年 10 月翻斗式矿车,侧翻矿车,1 吨矿车,运输矿车厂家最新推荐,产能、专利、环保三维数据透视
  • 2025 年江苏电缆附件,热缩电缆附件,冷缩电缆附件,预制电缆附件厂家最新推荐,产能、专利、环保三维数据透视
  • 9 GHz 巴伦做到 22 mm,HT-BAL-0006SMG 简单上机测一波
  • 低代码开发便捷的技术深度解析
  • 2025年打篮球隐形眼镜生产商权威推荐榜单:周抛隐形眼镜/rgp隐形眼镜/硬性隐形眼镜源头厂家精选
  • 2025年浅拾兰花双萃致臻精华油:从成分与技术维度深度解析其护肤功效
  • DGX Spark(Ubuntu24.04)下编译安装OpenCV
  • 2025年移动车载变电站厂家最新推荐榜:陕西四方华能凭硬实力成优选
  • 2025年最新可靠的钣金加工厂家找哪家,知名的钣金加工口碑推荐榜睿意达专注产品质量
  • Visual Studio Code使用Python 3.6.8
  • vscode 添加代码片段中的预置变量总结
  • 251027
  • 2025年10月重庆装饰装修公司推荐排行榜:十大企业综合评测与选购指南
  • 未来工业AI发展的三个必然阶段
  • 大数据分析基础及应用案例:第五周学习报告——逻辑回归、决策树
  • 模拟赛 R19
  • AOP面向切面编程思想
  • 2025 年分销供应链系统、供应链系统软件、供应链系统 SaaS 公司最新推荐,技术实力与市场口碑深度解析!