目录
二元拉格朗日插值
- 定义了一个函数
DTL
,接受了五个输入参数:x、y、Z、x0 和 y0。 - 声明了两个符号变量 s 和 t。
- 初始化变量 f 为 0.0,用于存储插值结果。
- 获取输入数据 x 和 y 的长度,分别赋值给变量 n 和 m。
- 使用循环找到目标点 x0 所在的区间索引 index_x,以及目标点 y0 所在的区间索引 index_y。
- 根据目标点所在的区间索引,选择离目标点最近的三个 x 坐标,分别存储在数组 cx 中;选择离目标点最近的三个 y 坐标,分别存储在数组 cy 中。
- 使用双重循环计算二元拉格朗日插值多项式 f。在循环中,对于每个选定的 x 和 y 坐标,计算对应的拉格朗日基函数,并将其乘以对应的函数值 Z(cx(i), cy(j)) 累加到 f 中。
- 最后,通过 subs 函数将 f 中的符号变量 t 和 s 替换为目标点的坐标 (x0, y0),得到插值结果 fz,即在目标点处的插值函数值。
function fz = DTL(x,y,Z,x0,y0)
syms s t;
f = 0.0;