ListConvolve[ker,list]
构造 list 与核 ker 的卷积.
ListConvolve[ker,list,k]
形成循环卷积,其中 ker 中的 k
个元素和 list 中的每个元素对齐.
ListConvolve[ker,list,{kL,kR}]
形成循环卷积,它的第一个元素包含 list[[1]]ker[[kL]],最后一个元素包含 list[[-1]]ker[[kR]].
ListConvolve[ker,list,klist,p]
形成卷积,其中 list 放置在重复元素 p 的结尾.
ListConvolve[ker,list,klist,{p1,p2,…}]
形成卷积,其中list 放置在循环重复 pi 的结尾.
ListConvolve[ker,list,klist,padding,g,h]
ListConvolve[ker,list,klist,padding,g,h,lev]
在 ker 和 list 的 lev 层上使用元素形成卷积.
ListConvolve
ListConvolve[ker,list]
构造 list 与核 ker 的卷积.
ListConvolve[ker,list,k]
形成循环卷积,其中 ker 中的 k
个元素和 list 中的每个元素对齐.
ListConvolve[ker,list,{kL,kR}]
形成循环卷积,它的第一个元素包含 list[[1]]ker[[kL]],最后一个元素包含 list[[-1]]ker[[kR]].
ListConvolve[ker,list,klist,p]
形成卷积,其中 list 放置在重复元素 p 的结尾.
ListConvolve[ker,list,klist,{p1,p2,…}]
形成卷积,其中list 放置在循环重复 pi 的结尾.
ListConvolve[ker,list,klist,padding,g,h]
ListConvolve[ker,list,klist,padding,g,h,lev]
在 ker 和 list 的 lev 层上使用元素形成卷积.
更多信息
- 对于核 Kr 和列表 as,ListConvolve[ker,list] 计算
,其中和式的极限使得核不会延伸出列表的任何一边. - ListConvolve[ker,list] 给出一个长度为 Length[list]-Length[ker]+1 的结果.
- ListConvolve[ker,list] 不允许超出,它等价于 ListConvolve[ker,list,{-1,1}].
- ListConvolve[ker,list,k] 等价于 ListConvolve[ker,list,{k,k}].
- ListConvolve[ker,list,{kL,kR}] 中的 kL 和kR 的值决定在的每一边允许 list 延伸量.
- {kL,kR} 的共同选项是:
-
{-1,1} 无延伸量(缺省) {-1,-1} 右端的最大延伸量 {1,1} 左端最大延伸量 {1,-1} 左右两端的最大延伸量 - 仅在一端有最大延伸量,ListConvolve 得到的结果和 list 的长度相同.
- ListConvolve[ker,list,{kL,kR},padlist] 实际上重复放置 padlist,然后在它们上加一个 list 的副本来形成结果的卷积.
- padlist 的共同选项是:
-
p 重复使用单个元素填充 {p1,p2,…} 循环使用元素序列填充 list 将 list 看作循环填充 (缺省) {} 不填充 - ListConvolve 对多维核和数据列表起使用.
- ListConvolve[ker,list,{{kL 1,kL 2,…},{kR 1,kR 2,…}}] 形成循环卷积,它的 {1,1,…} 元素包含 ker[[kL 1,kL 2,…]]list[[1,1,…]],它的 {-1,-1,…} 元素包含 ker[[kR 1,kR 2,…]]list[[-1,-1,…]].
- {kL,kR} 等价于 {{kL,kL,…},{kR,kR,…}}.
- 当一个函数 h 被指定用作替换 Plus,用一个深度等于 ker 的深度产生明确的嵌套 h 表达式.
- ListConvolve 对精确数、符号数及近似数起作用.
范例
打开所有单元 关闭所有单元基本范例 (4)
ListConvolve[{x, y}, {a, b, c, d, e, f}]ListConvolve[{x, y}, {a, b, c, d, e, f}, 1]ListConvolve[{x, y}, {a, b, c, d, e, f}, 2]ListConvolve[{x, y}, {a, b, c, d, e, f}, 1, zzz]ListConvolve[{{1, 1}, {1, 1}}, {{a, b, c}, {d, e, f}, {g, h, i}}]范围 (9)
延伸和对齐 (4)
ListConvolve[{x, y, z}, {1, 2, 3, 4, 5, 6}]ListConvolve[{x, y, z}, {1, 2, 3, 4, 5, 6}, 1]ListConvolve[{x, y, z}, {1, 2, 3, 4, 5, 6}, -1]ListConvolve[{x, y, z}, {1, 2, 3, 4, 5, 6}, {1, -1}]ListConvolve[{x, y, z}, {1, 2, 3, 4, 5, 6}, 1]ListConvolve[{x, y, z}, {1, 2, 3, 4, 5, 6}, 2]ListConvolve[{x, y, z}, {1, 2, 3, 4, 5, 6}, 3]ListConvolve[{x, y, z}, {1, 2, 3, 4, 5, 6}, -1]将核元素的最后一个元素和数据的第一个元素、最后一个元素对齐:
ListConvolve[{x, y, z}, {1, 2, 3, 4, 5, 6}, {1, 1}]ListConvolve[{x, y, z}, {1, 2, 3, 4, 5, 6}, {2, 1}]ListConvolve[{x, y, z}, {1, 2, 3, 4, 5, 6}, {1, 2}]数据填充 (2)
ListConvolve[{x, y, z}, {1, 2, 3, 4, 5}, 1, aa]ListConvolve[{x, y, z}, {1, 2, 3, 4, 5}, 1, {aa, bb}]ListConvolve[{x, y, z}, {1, 2, 3, 4, 5}, 1, {aa, bb, cc}]ListConvolve[{x, y, z}, {1, 2, 3}, {1, -1}, {aa, bb, cc}]更高维数 (3)
ListConvolve[{{a, b}, {c, d}}, {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}]ListConvolve[{{a, b}, {c, d}}, {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}, 1]Dimensions[%]ListConvolve[{{a, b}, {c, d}}, {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}, {{1, 1}, {2, 2}}]推广和延伸 (4)
ListConvolve 对稀疏数组起作用:
ListConvolve[{a, b, c}, SparseArray[6 -> x, 20]]用 f 替代 Times:
ListConvolve[{x, y}, {1, 2, 3, 4}, 1, 0, f]用 g 替代 Plus:
ListConvolve[{x, y}, {1, 2, 3, 4}, 1, 0, f, g]ListConvolve[{x, y}, {1, 2, 3, 4}, 1, 0, f, List]用 f 和 g 替代 Times 和 Plus,用空数据填充:
ListConvolve[{x, y, z}, {1, 2, 3}, 1, {}, f, g]ListConvolve[{x, y, z}, {1, 2, 3}, -1, {}, f, g]ListConvolve[{x, y, z}, {1, 2, 3}, {1, -1}, {}, f, g]可将 ListConvolve 用于 TimeSeries:
ts = TimeSeries[Table[Subscript[x, t], {t, 12}]]ts["Path"]ListConvolve[{1 / 2, 1 / 2}, ts, {1}]%["Path"]应用 (9)
ListConvolve[{1, 1} / 2, {a, b, c, d, e}]或使用函数 MovingAverage:
MovingAverage[{a, b, c, d, e}, 2]data = Table[Sqrt[x] + RandomReal[], {x, 30}];ListLinePlot[data]ListLinePlot[ListConvolve[{1, 1, 2, 1, 1} / 6, data]]data = Table[Mod[i ^ 2, 17], {i, 100}];ListLinePlot[ListConvolve[data, data, {1, 1}]]ArrayPlot[CellularAutomaton[150, {{1}, 0}, 30]]ArrayPlot[ListConvolve[{{-1, 1}, {1, -1}}, CellularAutomaton[150, {{1}, 0}, 30]]]CoefficientList[(a + b x + c x ^ 2)(1 + 2x + 3x ^ 2 + 4x ^ 3), x]ListConvolve[{a, b, c}, {1, 2, 3, 4}, {1, -1}, 0]ListConvolve[IntegerDigits[24561], IntegerDigits[1247], {1, -1}, 0]FromDigits[%, 10]24561 1247Column[NestList[ListConvolve[{1, 1}, #, {1, -1}, 0]&, {1}, 5], Center]ArrayPlot[NestList[Mod[ListConvolve[{2, 3, 1}, #, 2], 5]&, SparseArray[50 -> 1, 101], 50]]p1[x_] = RandomInteger[9, 101].x ^ Range[0, 100];
p2[x_] = RandomInteger[9, 101].x ^ Range[0, 100];用有最大延伸和零填充的 ListConvolve:
c3 = ListConvolve[CoefficientList[p1[x], x], CoefficientList[p2[x], x], {1, -1}, 0] ;p3[x_] = c3.x ^ Range[0, Length[c3] - 1];p3[x] == Expand[p1[x] p2[x]]属性和关系 (8)
{a, b} = RandomReal[1, {2, 31}];circulant[v_] := ToeplitzMatrix[v, RotateRight[Reverse[v]]]ListConvolve[a, b, {1, 1}] == circulant[a].bListConvolve[a, b, {1, 1}] == InverseFourier[Fourier[a] Fourier[b]] Sqrt[31]{a, b} = RandomReal[1, {2, 31}];lttoep[v_] := With[{n = Length[v]}, ToeplitzMatrix[v, First[v]UnitVector[n, 1]]]ListConvolve[a, b, 1, 0] == lttoep[a].bListConvolve[{1}, {1, 2, 3, 4, 5, 6}]ListConvolve[{1}, {1, 2, 3, 4, 5, 6}, 2]ListConvolve[{x, y, z}, {a, b, c}]ListConvolve[{1, -1}, {a, b, c, d, e}]Differences[{a, b, c, d, e}]Table[ListConvolve[{x, y, z}, {1, 2, 3, 4, 5, 6}, i], {i, 3}]//ColumnTable[ListConvolve[{x, y, z}, {1, 2, 3, 4, 5, 6}, i], {i, -3, -1}]//ColumnTable[ListConvolve[{1, 1}, {1, 1, 1, 1}, {i, j}], {i, 4}, {j, 4}]//GridGrid[Table[ListConvolve[{1, 1}, {1, 1, 1, 1}, {i, -j}], {i, 4}, {j, 4}]]Grid[Table[ListConvolve[{1, 1}, {1, 1, 1, 1}, {-i, j}], {i, 4}, {j, 4}]]Table[ListConvolve[{1, 1}, {1, 1, 1, 1}, {i, j}, 0], {i, 4}, {j, 4}]//GridTable[ListConvolve[{1, 1}, {1, 1, 1, 1}, {i, -j}, 0], {i, 4}, {j, 4}]//GridTable[ListConvolve[{1, 1}, {1, 1, 1, 1}, {-i, j}, 0], {i, 4}, {j, 4}]//Grid技术笔记
历史
1999年引入 (4.0)
文本
Wolfram Research (1999),ListConvolve,Wolfram 语言函数,https://reference.wolfram.com/language/ref/ListConvolve.html.
CMS
Wolfram 语言. 1999. "ListConvolve." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/ListConvolve.html.
APA
Wolfram 语言. (1999). ListConvolve. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/ListConvolve.html 年
BibTeX
@misc{reference.wolfram_2026_listconvolve, author="Wolfram Research", title="{ListConvolve}", year="1999", howpublished="\url{https://reference.wolfram.com/language/ref/ListConvolve.html}", note=[Accessed: 31-October-2026]}
BibLaTeX
@online{reference.wolfram_2026_listconvolve, organization={Wolfram Research}, title={ListConvolve}, year={1999}, url={https://reference.wolfram.com/language/ref/ListConvolve.html}, note=[Accessed: 31-October-2026]}