对于一维网格,我可以通过任意一组点计算拉格朗日多项式,以重建多项式函数。
在 2D 中,我有一个非结构化网格,并希望从相邻节点上的值中插入一个节点上的值。与一维情况的不同之处在于,定义明确的拉格朗日多项式具有固定的模板大小,例如 3 点用于一阶重建,6点用于二阶重建等等。
从相邻点重建的最佳方法是什么?我的应用程序是在有限体积方案中使用 Voronoi 单元进行重建,与三角形不同,它具有任意数量(但在许多网格中大致恒定)的邻居。
对于一维网格,我可以通过任意一组点计算拉格朗日多项式,以重建多项式函数。
在 2D 中,我有一个非结构化网格,并希望从相邻节点上的值中插入一个节点上的值。与一维情况的不同之处在于,定义明确的拉格朗日多项式具有固定的模板大小,例如 3 点用于一阶重建,6点用于二阶重建等等。
从相邻点重建的最佳方法是什么?我的应用程序是在有限体积方案中使用 Voronoi 单元进行重建,与三角形不同,它具有任意数量(但在许多网格中大致恒定)的邻居。
您可以使用最小二乘拟合方法通过相邻节点拟合一些多项式。
您甚至可以根据从相邻节点到您想要评估多项式的位置的距离(可能通过高斯函数之类的东西)对最小二乘进行加权。后一种方法可以被视为局部回归,反过来可以针对您要评估的点定制局部模型,从而有可能获得更好的结果。
它不是多项式,但您可能对自然邻域插值感兴趣(它非常适合 Voronoi 图)。要评估给定点的插值,请将点插入图表,并在插入点之前计算新 Vornoi 单元(添加点的)与图表中 Voronoi 单元之间的交点体积。这给出了插值权重。插值几乎在所有地方都是)。
对于 1D、2D 或 3D 非结构化网格中的数据点估计,克里金法是一种成熟的技术。这是一种统计方法(在函数空间上进行的贝叶斯推理)来估计给定数据点的未知值。平滑度可以通过底层高斯过程的宽度来控制。