我希望获取一个集合,并在其上滑动一个长度为“w”、步长为“s”的窗口,以获得许多子集合。
我见过Base.Iterators.partition但不允许滑动小于窗口(或分区)长度。
我自己写了一些有用的东西,但我希望已经有一个函数可以做到这一点,但我只是还没有找到它。
假设z是您的Vector是s您的步长 是您的步w长 是窗口大小 只需执行以下操作:
((@view z[i:i+w-1]) for i in 1:s:length(z)-w+1)
Run Code Online (Sandbox Code Playgroud)
例子:
z = collect(1:10)
for e in ((@view z[i:i+4]) for i in 1:2:length(z)-4)
#do something, try display(e)
end
Run Code Online (Sandbox Code Playgroud)