所以我有一个三维矩阵点(可能)定义了一个表面。就我的目的而言,X和Y可以是随机值,但是当与它们的Z坐标一起绘制时,它们将定义一些起伏的表面。我想测量所述表面的局部曲率,为了做到这一点,我需要能够找到所述表面的梯度,此时计算曲率是微不足道的。
我还没有找到如何测量这种不使用Matlab梯度函数的曲率的实现。 Matlab梯度函数的问题在于它假设点是某种顺序,类似于diff(X)。如果我的点沿着网格间隔,这就足够了,但情况不一定如此。
测量梯度的一种可能的解决方案是给出并将每个点分配到XY平面中的网格中的离散坐标,从而克服该问题。然而,这个解决方案看起来有点不雅,并且很想知道是否有人有建议。谢谢!
答案 0 :(得分:0)
您可以使用griddata从散乱数据点插值到网格间距点,然后计算渐变。