ListCorrelate[ker,list]
核 ker と list との相関を形成する.
ListCorrelate[ker,list,k]
ker の k 次の要素が list の各要素と整列されている循環相関を形成する.
ListCorrelate[ker,list,{kL,kR}]
最初の要素がlist[[1]] ker[[kL]]を含み,最後の要素が list[[-1]] ker[[kR]]を含む循環相関を形成する.
ListCorrelate[ker,list,klist,p]
最後が要素 p の反復により list を充填する相関を形成する.
ListCorrelate[ker,list,klist,{p1,p2,…}]
list の最後を piの循環反復で充填して相関を形成する.
ListCorrelate[ker,list,klist,padding,g,h]
ListCorrelate[ker,list,klist,padding,g,h,lev]
ker および list のレベル lev の要素を用いた相関を形成する.
ListCorrelate
ListCorrelate[ker,list]
核 ker と list との相関を形成する.
ListCorrelate[ker,list,k]
ker の k 次の要素が list の各要素と整列されている循環相関を形成する.
ListCorrelate[ker,list,{kL,kR}]
最初の要素がlist[[1]] ker[[kL]]を含み,最後の要素が list[[-1]] ker[[kR]]を含む循環相関を形成する.
ListCorrelate[ker,list,klist,p]
最後が要素 p の反復により list を充填する相関を形成する.
ListCorrelate[ker,list,klist,{p1,p2,…}]
list の最後を piの循環反復で充填して相関を形成する.
ListCorrelate[ker,list,klist,padding,g,h]
ListCorrelate[ker,list,klist,padding,g,h,lev]
ker および list のレベル lev の要素を用いた相関を形成する.
詳細
- 核 Krとリスト asから,ListCorrelate[ker,list]は,
を計算する.総和の範囲は核がリストの両側にはみ出さないこととする. - 一次元のリストに対しては,ListCorrelate[ker,list]はListConvolve[Reverse[ker],list]に等価である.
- 高次元のリストに対しては ker はすべてのレベルで反転される必要がある.
- kLおよび kRの設定は,ListConvolveでListCorrelateに相対的に反転される.
- ListCorrelateでの{kL,kR}の共通な設定
-
{1,-1} はみ出しなし(デフォルト) {1,1} 右端で最大はみ出し {-1,-1} 左端で最大はみ出し {-1,1} 両端で最大はみ出し
例題
すべて開く すべて閉じる例 (4)
ListCorrelate[{x, y}, {a, b, c, d, e, f}]ListCorrelate[{x, y}, {a, b, c, d, e, f}, 1]ListCorrelate[{x, y}, {a, b, c, d, e, f}, 2]ListCorrelate[{x, y}, {a, b, c, d, e, f}, 1, zzz]ListCorrelate[{{1, 1}, {1, 1}}, {{a, b, c}, {d, e, f}, {g, h, i}}]スコープ (5)
ker = Differences[Range[10] ^ 2];
list = 1 / Range[20];ListCorrelate[ker, list]ListCorrelate[N[ker], N[list]]ListCorrelate[N[ker, 24], N[list, 24]]ListCorrelate[{1, I}, RandomComplex[1 + I, 5]]ListCorrelate[{{1, 0, 1}, {0, -4, 0}, {1, 0, 1}}, Array[Subscript[a, #]&, {4, 4}]]c = ListCorrelate[{{1, 0, 1}, {0, -4, 0}, {1, 0, 1}}, Array[Subscript[a, #]&, {4, 4}], {1, 1}];MatrixForm[c]c = ListCorrelate[{{1, 0, 1}, {0, -4, 0}, {1, 0, 1}}, Array[Subscript[a, #]&, {4, 4}], {-1, 1}, 0];MatrixForm[c]一般化と拡張 (4)
ListCorrelate[{x, y, z}, {1, 2, 3, 4, 5}, {1, -1}, {x, y, z}, f, g]はみ出しは最大にし,ゼロ充填にして,PlusとTimesの代りに関数fと関数gを使う:
ListCorrelate[{x, y, z}, {1, 2, 3, 4, 5}, {-1, 1}, 0, f, g]はみ出しは最大で空充填として,PlusとTimesの代りに関数fと関数gを使う:
ListCorrelate[{x, y, z}, {1, 2, 3, 4, 5}, {-1, 1}, {}, f, g]ListCorrelateはTimeSeriesと使うことができる:
ts = TimeSeries[Table[Subscript[x, t], {t, 12}]]ts["Path"]ListCorrelate[{1 / 2, 1 / 2}, ts, {1}]%["Path"]アプリケーション (6)
x = N[Range[1000] / 1000];
data = RandomReal[{-1, 1}, 1000] + 2 Sin[7 x];w = Exp[-.01 N[Range[-24, 24] ^ 2]];
w /= Total[w];smoother = ListCorrelate[w, data];Show[ListLinePlot[Transpose[{x, data}]], ListLinePlot[Transpose[{Take[x, {25, -25}], smoother}], PlotStyle -> Red]]img = 256 - Import["ExampleData/turtle.jpg", "Data"];
ArrayPlot[img]g[σ_][x_, y_] := (1/2 π σ^2)Exp[-(1/2σ^2)(x ^ 2 + y ^ 2)];
gk = N[Outer[g[1], Range[-2, 2], Range[-2, 2]]];smooth = ListCorrelate[gk, img];ArrayPlot[smooth]img = 256 - Import["ExampleData/ocelot.jpg", "Data"];
ArrayPlot[img]dimg = ListCorrelate[{{1, 0, 1}, {0, -4, 0}, {1, 0, 1}}, img];ArrayPlot[dimg]g[σ_][x_, y_] := (1/2 π σ^2)Exp[-(1/2σ^2)(x ^ 2 + y ^ 2)];
f[σ_][x_, y_] = D[g[σ][x, y], {x, 2}] + D[g[σ][x, y], {y, 2}];ker = Outer[f[1.5], N[Range[-5, 5]], N[Range[-5, 5]]];
ListPlot3D[ker, PlotRange -> All]dimg = ListCorrelate[ker, img];ArrayPlot[dimg]NestList[ListCorrelate[{1, 1}, #, {-1, 1}, 0]&, {1}, 10]Column[%, Center]{ArrayPlot[PadRight[Mod[NestList[ListCorrelate[{1, 1}, #, {-1, 1}, 0]&, {1}, 100], 2]]], ArrayPlot[PadRight[Mod[NestList[ListCorrelate[{1, 2}, #, {-1, 1}, 0]&, {1}, 100], 5]]]}n = 100;h = 1. / n;
x = N[h Range[n]];
f = Sin[2 π x];ListPlot[{f, ListCorrelate[({-1, 0, 1}/2 h), f, 2]}, DataRange -> {0, 1}]Table[n = 10 ^ k; h = 1. / n;x = N[h Range[n]];
ListPlot[2π Cos[2 π x] - ListCorrelate[({-1, 0, 1}/2 h), Sin[2 π x], 2], DataRange -> {h, 1}] ,
{k, 1, 3}]Table[n = 10 ^ k; h = 1. / n;x = N[h Range[n]];
ListPlot[-4 π^2Sin[2 π x] - ListCorrelate[({-1, 16, -30, 16, -1}/12 h^2), Sin[2 π x], 3], DataRange -> {h, 1}] ,
{k, 1, 3}]特性と関係 (3)
ListCorrelateは核を逆にしたListConvolveに等しい:
ker = RandomReal[1, {123}];
list = RandomReal[1, {10000}];ListConvolve[ker, list] == ListCorrelate[Reverse[ker], list]{a, b} = RandomReal[1, {2, 31}];circulant[v_] := ToeplitzMatrix[v, RotateRight[Reverse[v]]]ListCorrelate[a, b, {-1, -1}] == circulant[Reverse[a]].bListCorrelate[a, b, {-1, -1}] == InverseFourier[Fourier[Reverse[a]] Fourier[b]] Sqrt[31]{a, b} = RandomReal[1, {2, 31}];uttoep[v_] := With[{n = Length[v]}, ToeplitzMatrix[First[v]UnitVector[n, 1], v]]充填なしの巡回相関は上三角テプリッツ行列による乗算に等しい:
ListCorrelate[a, b, 1, 0] == uttoep[a].bテクニカルノート
関連するガイド
-
▪
- データの変換と平滑化 ▪
- 線形・非線形フィルタ ▪
- 統計的データ解析 ▪
- 信号フィルタリングとフィルタ設計
履歴
1999 で導入 (4.0)
テキスト
Wolfram Research (1999), ListCorrelate, Wolfram言語関数, https://reference.wolfram.com/language/ref/ListCorrelate.html.
CMS
Wolfram Language. 1999. "ListCorrelate." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/ListCorrelate.html.
APA
Wolfram Language. (1999). ListCorrelate. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/ListCorrelate.html
BibTeX
@misc{reference.wolfram_2026_listcorrelate, author="Wolfram Research", title="{ListCorrelate}", year="1999", howpublished="\url{https://reference.wolfram.com/language/ref/ListCorrelate.html}", note=[Accessed: 02-November-2026]}
BibLaTeX
@online{reference.wolfram_2026_listcorrelate, organization={Wolfram Research}, title={ListCorrelate}, year={1999}, url={https://reference.wolfram.com/language/ref/ListCorrelate.html}, note=[Accessed: 02-November-2026]}