Gypaets/trigradianent2是一款MATLAB工具箱,用于高效计算不规则分布的数据点的一次及二次导数值。适用于地质、气象等领域的数据分析与建模。
`[ZX, ZY, ZXX, ZYY, ZXY] = trigradient2(X, Y, Z, T, M)` 函数用于通过最小二乘线性回归计算函数 `Z(X,Y)` 的导数,使用泰勒级数从每个点到相邻顶点建立方程组。如果一个顶点连接的顶点少于五个,则会利用距离两条边范围内的其他顶点来补充数据。这种方法相较于一阶方法能够提供更精确的结果,尤其是计算出的二阶场导数值误差明显小于使用一次函数推导两次场值所得的误差。
输入参数包括:
- `X`:包含 x 坐标的向量。
- `Y`:包含 y 坐标的向量。
- `Z`:矩阵形式的数据,其中每个点对应一个函数值。如果 Z 包含多列,则会为每一列分别计算导数。
可选参数:
- `T`:三角剖分(由 Nx3 矩阵表示的多边形顶点)。如果没有提供 X 和 Y 的 Delaunay 三角剖分,将会使用默认值。
- `M`:用于执行计算的方法。默认设置为0。具体而言,
- 0 表示一个大的方程组,速度快;
- 1 表示多个小的方程系统,虽然速度较慢但对输入数据更为准确。
输出参数:
- `ZX`: dzdx 的值。
- 其他导数值也以类似方式返回。