大家好,正在处理这个问题,我找不到一个可靠的方法来解决。更容易显示一些输入和输出。
k=3
I = [1 2 3 4 5 6 7]
myWindow(I, k)
O(1) = [1 2 3]
O(2) = [1 2 3 4]
0(4) = [2 3 4 5 6]
... O(7) = [5 6 7].
正如你所看到的,窗口的大小是"3",这样我就可以保留两个相邻的点,在边缘我可以保留1、2或不保留点。我们非常感谢在解决这个问题时提供的任何帮助。
匿名函数方法可以是:
myWindow = @(n) I(max(1, n-k+1):min(numel(I), n+k-1));
请注意,如果稍后修改I
或k
,除非再次运行上述命令,否则myWindow()
将不会自动更新。