对数值模拟的噪声结果进行后处理

计算科学 数字 曲线拟合 振荡
2021-12-11 18:44:59

我有以下曲线,它是根据大量点计算的,从远处看时表现出平滑的行为。

在此处输入图像描述

然而,导数(如下所示)表现出人为的振荡,由于我的数值计算方法的复杂性,这是不可避免的。我知道正确的结果及其导数(如下图红色所示),并希望通过后处理(过滤)步骤消除这些尖峰和波动。

在此处输入图像描述

消除导数波动并得到正确结果(红色曲线)的合理滤波过程是什么?我怎样才能决定这种过滤器的细节?

1个回答

您可以使用某种方案,其中某个点的值是其相邻值的某种平均值。您必须决定这种平滑是否适合您的情况。在 MATLAB 中,smooth3 函数用于对 3D 数据进行平滑处理。使用相同的原理,您可以在一维中执行高斯平滑或框平滑。这就是平滑的完成方式。平滑结果的可靠性是您必须判断的。