news 2026/5/12 8:10:20

被滑动窗口折磨过的同学请举手!最近终于搞到个能打的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/5/11 21:41:01

再论自然数全加和-质数的规律

再说质数,根据虚数单位的定义, 它是一个周期的描述,这个周期写做0,但实际上是任意数。假定虚数单位此处为正整数,那么0这个周期就可以是对应的正整数。因为虚数单位可取值为无限多,所以这个周期可取值也是无限多个。我们要求证明的是形如, 的质数 有无限多个。尝试反证法…

作者头像 李华
网站建设 2026/5/9 17:22:34

干货来了:专科生必备的降AI率软件 —— 千笔·降AIGC助手

在AI技术迅速渗透到学术写作领域的今天,越来越多的专科生开始借助AI工具辅助完成论文撰写。然而,随着知网、维普、万方等查重系统不断升级算法,对AI生成内容的识别也愈发严格,论文中的“AI率超标”问题逐渐成为影响毕业和成绩的关…

作者头像 李华
网站建设 2026/5/9 15:44:18

六零导航页2.1版本最新修复完美版本

六零导航页2.1版本最新修复完美版本 访问http://域名/install 按提示配置数据库进行安装 后台地址:http://域名/admin 账号密码:admin/123456 源码下载: https://download.csdn.net/download/m0_61505785/92643317?spm1001.2014.3001.550…

作者头像 李华
网站建设 2026/5/9 10:33:54

导师严选!自考必备的AI论文网站 —— 千笔·专业学术智能体

你是否也曾为论文选题发愁,面对空白文档无从下笔?是否在反复修改中感到力不从心,却始终达不到理想效果?论文写作的每一步都充满挑战,尤其是自考路上,时间紧、任务重,稍有不慎就可能影响毕业。而…

作者头像 李华
网站建设 2026/5/9 22:54:51

计算机毕业设计springboot音乐推荐系统 基于协同过滤算法的个性化音乐推送平台开发 Spring Boot驱动的智能化歌曲推荐服务平台构建

计算机毕业设计springboot音乐推荐系统4ds179 (配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。 随着互联网技术的飞速发展和数字化娱乐的普及,音乐已成为人们日常生活…

作者头像 李华
网站建设 2026/5/10 23:36:52

Java开发者破局指南:跳出内卷,借AI赋能,搭建系统化知识体系

Java开发者破局指南:跳出内卷,借AI赋能,搭建系统化知识体系 在技术迭代加速、AI快速渗透的当下,Java领域的内卷愈发严重——“初级码农”过剩、简历同质化、基础编码工作被AI替代,很多开发者陷入“只会CRUD、不懂底层…

作者头像 李华