使用数值积分计算傅里叶级数的系数

计算科学 误差估计 一体化
2021-12-17 19:07:43

我正在使用傅里叶级数来找到二维热方程的解析解。问题是用于计算级数系数的积分无法解析求解。

我目前正在使用 GSL 的 Monte Carlo 积分来计算它们,这会给系列带来错误。我的问题是解决方案是否会收敛到分析解决方案?如果没有,我怎样才能得到错误的估计?

编辑

这是我的初始条件:

C0(x,y)={0r(x,y)154415r(x,y)r(x,y)<15r(x,y)=(x75)2+(y50)2

这是积分:

Amn=4lxly0ly0lxC0(x,y)sin(mπxlx)sin(nπyly)dxdy,m,n

其中lx=ly=100

这是我在 500 次迭代后得到的:

500 次迭代后

从第 100 次迭代开始,这并没有真正改善。

1个回答

您应该使用的求积公式取决于被积函数的结构,即在您的情况下例如,如果是平滑的,那么使用高阶高斯积分方案可能是合适的。如果是不连续的,则高斯公式是不合适的,但它们可能在平滑的单个段上。如果没有有关您拥有的被积函数的更多信息,就不可能提供更好的答案。f(x)sin(kx)dxf(x)f(x)f(x)

但是,以下内容通常是正确的:除非您在高维空间中,否则蒙特卡洛积分几乎从来都不是合适的方法。