matlab - 如何在 m 的窗口中选择序列的 n 个元素? (matlab)

标签 matlab sliding-window

快速 MATLAB 问题。 在'm'的窗口中选择一定数量的元素,'n'的最佳/最有效的方法是什么。换句话说,我想选择一个序列的前 50 个元素,然后是 10-60 个元素,然后是 20-70 个元素等等。 现在,我的序列是矢量格式(但这很容易改变)。

编辑: 我正在处理的序列太长,无法存储在我的 RAM 中。我需要能够创建窗口,然后调用我想要分析/执行另一个命令的窗口。

最佳答案

您是否有足够的 RAM 在内存中存储 50×nWindow 数组?在这种情况下,您可以一次性生成窗口,然后在每一列上应用您的处理

%# idxMatrix has 1:50 in first col, 11:60 in second col etc
idxMatrix = bsxfun(@plus,(1:50)',0:10:length(yourVector)-50); %'#

%# reshapedData is a 50-by-numberOfWindows array
reshapedData = yourVector(idxMatrix);

%# now you can do processing on each column, e.g.
maximumOfEachWindow = max(reshapedData,[],1);

关于matlab - 如何在 m 的窗口中选择序列的 n 个元素? (matlab),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7099590/

相关文章:

performance - 为什么批处理模式比 parfor 快这么多?

matlab - A=[x; 是什么意思? y'] 在 Matlab 中是什么意思?

arrays - 在 MATLAB 中创建重叠和非重叠滑动窗口

matlab - 具有滑动窗口元素的矩阵

c - 通过滑动窗口协议(protocol)进行数据转换,C

arrays - 如何在 matlab 中连接数组 'n' 时间?

matlab - MATLAB 中的 @ 运算符(at 符号)是什么?

matlab - 使用邻域的图像对比度增强

sql - SQL Server 中的滑动窗口函数,高级计算

python - 在 Numpy 中将索引转换为向量