離散信号を離散フィルタで畳み込みたいと思います。シグナルとフィルターは、F# の float のシーケンスです。
その方法を理解できる唯一の方法は、ネストされた 2 つの for ループと、結果を格納する可変配列を使用することですが、あまり機能的ではありません。
機能しないようにする方法は次のとおりです。
conv = double[len(signal) + len(filter) - 1]
for i = 1 to len(signal)
for j = 1 to len(filter)
conv[i + j] = conv[i + j] + signal(i) * filter(len(filter) - j)