SequenceFoldList[f,{x1,…,xn},{a1,a2,…}]
{x1,…,xn,f[x1,…,xn,a1],f[x2,…,xn,f[x1,…,xn,a1],a2],…}を与える.
SequenceFoldList[f,{x1,…,xn},{a1,a2,…},k]
各ステップで f を k 個の引数(最初の n 個は xiあるいは前の結果から,残りの k-n 個は aiから)に適用する.
SequenceFoldList
SequenceFoldList[f,{x1,…,xn},{a1,a2,…}]
{x1,…,xn,f[x1,…,xn,a1],f[x2,…,xn,f[x1,…,xn,a1],a2],…}を与える.
SequenceFoldList[f,{x1,…,xn},{a1,a2,…},k]
各ステップで f を k 個の引数(最初の n 個は xiあるいは前の結果から,残りの k-n 個は aiから)に適用する.
詳細
- SequenceFoldList[f,{x1,…,xn},{a1,a2,…}]では,関数 f は n+1個の引数を取るとみなされる.
- xlist と alist がそれぞれ長さ n および m のリストの場合,SequenceFoldList[f,xlist,alist]は長さ n+m のリストを返す.n および m のいずれかあるいは両方が0であってもよい.
- SequenceFoldList[f,{x},{a,b,…}]はFoldList[f,x,{a,b,…}]に等しい.
- SequenceFoldList[f,{x1,…,xn},{a1,a2,…}]はSequenceFoldList[f,{x1,…,xn},{a1,a2,…},n+1]に等しい.
- xlist と alist がそれぞれ長さ n および m のリストの場合,SequenceFoldList[f,xlist,alist,k]は長さMax[2n+m-k+1,n]のリストを返す.k≥n である限り,n,m,k のいずれが0であってもよい.
例題
すべて開く すべて閉じる例 (2)
スコープ (2)
アプリケーション (2)
SequenceFoldList[Plus, {1, 1}, ConstantArray[0, 10]]Fibonacci /@ Range[12]h = 0.1;
t = Range[0, 10, h];
f = Cos[t];ListPlot[SequenceFoldList[#1 + h#2&, {0}, Drop[f, 1]] - Sin[t]]ListPlot[SequenceFoldList[-#1 / 3 + 4 / 3#2 + 2h / 3#3&, Sin[{0, h}], Drop[f, 2]] - Sin[t]]ListPlot[SequenceFoldList[2#1 / 11 - 9#2 / 11 + 18#3 / 11 + 6h / 11#4&, Sin[{0, h, 2h}], Drop[f, 3]] - Sin[t]]ListPlot[SequenceFoldList[-3#1 / 25 + 16#2 / 25 - 36#3 / 25 + 48#4 / 25 + 12h / 25#5&, Sin[{0, h, 2h, 3h}], Drop[f, 4]] - Sin[t]]特性と関係 (10)
SequenceFold[f,xlist,alist]はSequenceFoldList[f,xlist,alist]の最終要素を返す:
SequenceFoldList[f, {x, y}, {a, b, c}]SequenceFold[f, {x, y}, {a, b, c}]Last[%%] === %SequenceFoldList[f,xlist,alist]の結果の各要素は,その前の結果と alist の1要素から構築されている:
list = SequenceFoldList[f, {x, y}, {a, b, c, d}]list[[3]] === f[list[[1]], list[[2]], a]list[[4]] === f[list[[2]], list[[3]], b]list[[5]] === f[list[[3]], list[[4]], c]list[[6]] === f[list[[4]], list[[5]], d]SequenceFoldList[f,xlist,alist,k]の結果の各要素は,その前の結果と alist の数要素から構築されている:
list = SequenceFoldList[f, {x, y}, {a, b, c, d, e, f}, 5]list[[3]] === f[list[[1]], list[[2]], a, b, c]list[[4]] === f[list[[2]], list[[3]], b, c, d]list[[5]] === f[list[[3]], list[[4]], c, d, e]list[[6]] === f[list[[4]], list[[5]], d, e, f]SequenceFoldは,SequenceFoldListの結果の最終要素を与える:
SequenceFoldList[f, {x, y}, {a, b, c}]Last[%]SequenceFold[f, {x, y}, {a, b, c}]長さ1のシード列から始めた場合,SequenceFoldListはFoldListに等しい:
SequenceFoldList[f, {x}, {a, b, c}]FoldList[f, x, {a, b, c}]空のシード列の場合は,SequenceFoldListはMapに等しい:
SequenceFoldList[f, {}, {a, b, c}]SequenceFoldList[f, {x, y}, {}]SequenceFoldList[f, {}, {}]SequenceFoldList[f, {}, {}, 7]SequenceFoldList[f, {}, {a, b, c, d, e}, 2]f@@@Partition[{a, b, c, d, e}, 2, 1]f に引数が1つしかない場合,SequenceFoldListはNestListに等しい:
SequenceFoldList[f, {x}, {a, b, c, d}, 1]NestList[f, x, 5]SequenceFoldList[f, {x, y, z}, {a, b, c}, 2]両者が等しい場合,第3引数中のリストの実際の要素は使われない:
SequenceFoldList[f, {x, y, z}, {a, b, c}, 3]関連するガイド
-
▪
- 関数反復 ▪
- 関数型プログラミング
テキスト
Wolfram Research (2015), SequenceFoldList, Wolfram言語関数, https://reference.wolfram.com/language/ref/SequenceFoldList.html.
CMS
Wolfram Language. 2015. "SequenceFoldList." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/SequenceFoldList.html.
APA
Wolfram Language. (2015). SequenceFoldList. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/SequenceFoldList.html
BibTeX
@misc{reference.wolfram_2026_sequencefoldlist, author="Wolfram Research", title="{SequenceFoldList}", year="2015", howpublished="\url{https://reference.wolfram.com/language/ref/SequenceFoldList.html}", note=[Accessed: 23-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_sequencefoldlist, organization={Wolfram Research}, title={SequenceFoldList}, year={2015}, url={https://reference.wolfram.com/language/ref/SequenceFoldList.html}, note=[Accessed: 23-June-2026]}