news 2026/4/18 10:08:31

被滑动窗口折磨过的同学请举手!最近终于搞到个能打的MATLAB神器,三行代码就能把原始数据切成训练样本,今天必须给大家安利这个真香函数

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
被滑动窗口折磨过的同学请举手!最近终于搞到个能打的MATLAB神器,三行代码就能把原始数据切成训练样本,今天必须给大家安利这个真香函数

MATLAB加窗滑动窗口程序,MATLAB数据处理,可以直接对一维原始数据生成样本。 找了好久的滑动窗口的程序都不符合我的要求,看到几篇机器学习的文章都是用滑动窗口生成的样本数据,最近同学给我搞了一个,现在分享给大家,程序为matlab编写,可以直接对原始采集数据生成所需样本,已经封装成了函数,一行代码就可实现对原始数据生成样本,亲测好用! %滑动窗口函数,可用于机器学习,数据分帧等。 可直接对输入的列数据进行滑窗并按行生成样本。 function winout=win(x,win,inc) %x输入数据,win滑动窗口长度,inc 滑动步长

先看实战效果:你的脑电信号数据是个12000点的列向量,想要切成500点/段的样本,每次滑动250点。直接甩给它:

samples = win(eeg_data, 500, 250);

输出矩阵每行就是一个样本段,机器学习直接能喂的那种。比之前用for循环手动切片快了不是一星半点,实测20000点数据0.3秒切完。

MATLAB加窗滑动窗口程序,MATLAB数据处理,可以直接对一维原始数据生成样本。 找了好久的滑动窗口的程序都不符合我的要求,看到几篇机器学习的文章都是用滑动窗口生成的样本数据,最近同学给我搞了一个,现在分享给大家,程序为matlab编写,可以直接对原始采集数据生成所需样本,已经封装成了函数,一行代码就可实现对原始数据生成样本,亲测好用! %滑动窗口函数,可用于机器学习,数据分帧等。 可直接对输入的列数据进行滑窗并按行生成样本。 function winout=win(x,win,inc) %x输入数据,win滑动窗口长度,inc 滑动步长

扒开函数外壳看核心(完整代码在文末),最骚的操作在这里:

n = floor((size(x,1)-win)/inc +1); % 计算能切多少段 winout = zeros(n,win); % 预分配内存 for k = 1:n winout(k,:) = x((k-1)*inc+1:(k-1)*inc+win,:).'; % 灵魂切片 end

这波操作有三处亮点:

  1. floor+1的计算公式完美处理余数,比如100点用30的步长切,最后一段不够就扔掉
  2. 预分配矩阵这个细节太关键,避免动态扩展内存拖慢速度
  3. 转置操作.'`让切片自动按行排列,保持输出格式统一

实际使用有两个坑要注意:

  • 窗口长度别超过数据长度,否则直接报空矩阵
  • 步长建议取采样率的1/2~1/4,比如100Hz信号取25-50点步长,这样滑动时有重叠又不至于太密集

这个函数最让我惊艳的是处理高维数据的能力。比如你有8通道的肌电信号,每个通道5000点,直接塞进去:

% 输入8列5000行的矩阵 multi_samples = win(emg_data, 200, 50);

输出直接变成三维数组(样本数×窗长×通道数),深度学习工具箱直接接得住。

最后甩个完整函数代码,需要的自取:

function winout=win(x,win,inc) n = floor((size(x,1)-win)/inc +1); winout = zeros(n,win,size(x,2)); for k = 1:n winout(k,:,:) = x((k-1)*inc+1:(k-1)*inc+win,:).'; end

实测比MATLAB自带的buffer函数快20%,关键是能带着通道维度一起切。还在手动写切片代码的赶紧弃疗,这波直接芜湖起飞!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 3:53:20

Linux内核驱动——设备树原理与应用

目录 一、设备树介绍 1.1 设备树基础概念 1.2 设备树相关文件 1.3 编译命令 二、设备树节点结构分析 三、引脚控制配置 四、Linux 内核驱动设计 4.1 驱动框架选择 4.1.1 传统字符设备驱动 4.1.2 基于 Platform 的标准驱动 4.2 GPIO 子系统的使用 五、驱动与设备树的…

作者头像 李华
网站建设 2026/4/18 8:42:25

闭眼入!10个AI论文网站测评,专科生毕业论文写作必备工具推荐

面对日益繁重的学术任务,专科生在撰写毕业论文时常常面临选题困难、资料查找效率低、格式规范不熟悉等问题。为了帮助广大专科生高效完成论文写作,笔者基于2026年的实测数据与用户真实反馈,对市面上主流的AI论文工具进行了系统测评。本次测评…

作者头像 李华
网站建设 2026/4/18 8:52:10

Flutter for OpenHarmony 可视化教学:A* 寻路算法的交互式演示

Flutter for OpenHarmony 可视化教学:A* 寻路算法的交互式演示 在人工智能、游戏开发和机器人导航等领域,路径规划(Pathfinding) 是一项基础而关键的技术。其中,A*(A-Star)算法因其高效性与最优…

作者头像 李华
网站建设 2026/4/8 9:21:01

AI赋能论文写作:11款跨学科工具推荐

近年来,人工智能语言模型的飞速发展彻底改变了学术研究的格局。尤其是自 2022 年 11 月 OpenAI 发布 ChatGPT 以来,AI 工具在学术界的应用日益广泛,帮助科研人员节省时间、提高效率,从而专注于更有价值的任务。AI 学术工具本质上是…

作者头像 李华
网站建设 2026/4/18 6:58:00

php python+vue员工签到管理系统毕设开题报告

目录系统概述技术选型功能模块创新点应用场景开发计划项目技术支持可定制开发之功能亮点源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作系统概述 员工签到管理系统基于PHP、Python和Vue.js技术栈开发,实现员工考勤、签到记录、…

作者头像 李华
网站建设 2026/4/16 20:15:48

php python+vue大学校排课管理信息系统设计开题报告

目录 校排课管理信息系统设计背景系统技术栈选择系统核心功能模块系统创新点预期成果技术实现示例(关键代码片段) 项目技术支持可定制开发之功能亮点源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作 校排课管理信息系…

作者头像 李华