ArrayFilter[f,array,r]
将 f 应用于全部范围-指定数组中的 r 块.
ArrayFilter[f,array,{r1,r2,…}]
将 f 按维度依次应用于 r1, r2, ….
ArrayFilter[f,array,template]
将 f 应用于根据在数组 template 中1的位置所指定的块.
ArrayFilter
ArrayFilter[f,array,r]
将 f 应用于全部范围-指定数组中的 r 块.
ArrayFilter[f,array,{r1,r2,…}]
将 f 按维度依次应用于 r1, r2, ….
ArrayFilter[f,array,template]
将 f 应用于根据在数组 template 中1的位置所指定的块.
更多信息和选项
- ArrayFilter[f,array,…] 要求 array 是一个有一定深度的完整数组.
- ArrayFilter[f,array,r] 应用 f 于 array 中所有
个重叠块中的元素. - array 和 template 都可以是 SparseArray 对象.
- 通过 ArrayFilter[f,array,template], template 的与0相应的邻域元素在传递给 f 之前被 Missing[] 替换.
- ArrayFilter 有用来指定如何在数组边缘形成邻域的选项 Padding. 可以使用如下设置:
-
None 返回一个较小的数组 val 用 val 填补 "Fixed" 重复边缘元素(默认) "Periodic" 在各个维度都是周期的
范例
打开所有单元 关闭所有单元基本范例 (3)
ArrayFilter[f, Range[10], 1]ArrayFilter[f, Range[10], 2]ArrayFilter[f, (| | | |
| --- | --- | --- |
| 1 | 2 | 3 |
| 10 | 20 | 30 |
| 100 | 200 | 300 |), {0, 1}]TraditionalForm[%]范围 (4)
ArrayFilter[fun, {a, b, c, d, e, f}, {1, 1, 1}]ArrayFilter[fun, {a, b, c, d, e, f}, {1, 0, 1}]ArrayFilter[fun, {a, b, c, d, e, f}, {1, 0, 0}]用 DeleteMissing 根据指定的模板移除元素:
ArrayFilter[fun[DeleteMissing[#]]&, {a, b, c, d, e, f}, {1, 0, 0}]选项 (6)
Padding (6)
ArrayFilter[fun, {a, b, c, d, e, f}, 1]ArrayFilter[fun, {a, b, c, d, e, f}, 1, Padding -> 0]ArrayFilter[fun, {a, b, c, d, e, f}, 1, Padding -> "Periodic"]ArrayFilter[fun, (| | | |
| -- | -- | -- |
| 11 | 12 | 13 |
| 21 | 22 | 23 |), 1, Padding -> "Periodic"]TraditionalForm[%]通过 Padding->None,ArrayFilter 只访问完全在数组内部的邻域:
ArrayFilter[fun, {a, b, c, d}, 1, Padding -> None]ArrayFilter[fun, {a, b, c, d}, 1, Padding -> "Fixed"]如果 Padding->None,则当邻域尺寸比大于输入时,返回空列表:
ArrayFilter[fun, {a1, a2}, 1, Padding -> None]ArrayFilter[fun, {{a1, a2}, {b1, b2}}, 1, Padding -> None]ArrayFilter[fun, {{a1, a2}, {b1, b2}}, {{1, 0, 1}}, Padding -> None]应用 (5)
ArrayFilter[Last[#] - First[#]&, {a, b, c, d, e, f}, 1]ArrayFilter[Mean, {a, b, c, d, e}, 1]f[neigh_] := Median[Flatten[neigh]];
ArrayFilter[f, {{1, 2, 4}, {5, 3, 1}, {1, 4, 2}, {3, 2, 0}}, 1]data = RandomFunction[WienerProcess[], {0, 10, 0.1}]["Values"];mq = ArrayFilter[Quantile[#, 0.75]&, data, 1];ListLinePlot[{data, mq}]ArrayPlot /@ NestList[ArrayFilter[Mod[Total[#, 2], 2]&, #, {1, 1}]&, BoxMatrix[0, {11, 11}], 5]文本
Wolfram Research (2015),ArrayFilter,Wolfram 语言函数,https://reference.wolfram.com/language/ref/ArrayFilter.html.
CMS
Wolfram 语言. 2015. "ArrayFilter." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/ArrayFilter.html.
APA
Wolfram 语言. (2015). ArrayFilter. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/ArrayFilter.html 年
BibTeX
@misc{reference.wolfram_2026_arrayfilter, author="Wolfram Research", title="{ArrayFilter}", year="2015", howpublished="\url{https://reference.wolfram.com/language/ref/ArrayFilter.html}", note=[Accessed: 18-August-2026]}
BibLaTeX
@online{reference.wolfram_2026_arrayfilter, organization={Wolfram Research}, title={ArrayFilter}, year={2015}, url={https://reference.wolfram.com/language/ref/ArrayFilter.html}, note=[Accessed: 18-August-2026]}