【发布时间】:2011-12-19 22:49:09
【问题描述】:
我没有nlfilter 的包,也没有完全关注this example。
我有一个非常简单的函数fun,我想将它应用于数组的移动窗口。数组是Nx1,我想查看长度k 间隔,比如说。所以对于N=10 和k=3 和fun = @(x) min(x); 我会得到
A = [13 14 2 14 10 3 5 9 15 8];
filter(A,k,fun) = [2 2 2 3 3 3 5 8];
这里我只想查看索引 1,2,3 然后 2,3,4 然后 ... 然后是 8,9,10,因此最终序列的长度为 7。我可以通过 for 循环轻松完成,但我不知道如何为 Matlab 向量化它。请帮忙。谢谢。
【问题讨论】:
-
如果您正在寻找窗口内的最小值,您可以使用
imerode,但不幸的是,它也在图像处理工具箱中。 -
另一个类似的问题有一些很好的答案:How do I select n elements of a sequence in windows of m ? (matlab)
标签: matlab filter sliding-window