使用傅里叶级数或其他算法通过给定值重建函数

时间:2013-09-16 14:37:03

标签: c# algorithm function fft

我很好奇通过使用一些连续值来重建函数是多么有效的方法(比如我在[0,10]之间有x的y值(x是一个整数,相应的十进制y值介于两者之间) [0,1]))它可用,如果可以设置用于获得任意近似的算法的精度。

我遇到了使用傅里叶级数重建这些函数的可能性,但我很不确定如何在C#中实现它。目的是通过实践而不是使用已有的库来学习。关于如何(大致)建立功能的任何其他建议也是受欢迎的。为了在运行时创建函数,我想到了元编程(使用Expression s)。

编辑:对于傅里叶系列,我发现了一个相关问题加上answer。但是,提供的解决方案在Mathematica中并使用其库。

1 个答案:

答案 0 :(得分:1)

傅立叶级数不会从有限长度的样本重建函数(除非样本碰巧来自已知纯周期函数或信号的精确整数倍数)。它将仅近似与数据窗口的变换卷积的函数,并使用一系列正弦和余弦函数,这些函数可能与“真实”未窗口函数或信号相关或不相关。对卷积函数进行去卷积(通常是周期性Sinc函数)并非易事,但需要估计可以扩展到数据窗口之外的可能候选波形。