Matlab 从散乱数据插值曲面法线

Matlab 从散乱数据插值曲面法线,matlab,interpolation,surf,Matlab,Interpolation,Surf,我有散乱的数据[x:,y:,z:],我想要,给定一个新的点x1,y1,在这一点上插值曲面法线。 目前我正在使用matlab中的scatterdinterpolant,然后在想要的点处插值曲面的导数。 我想找到一个更有效的选择,我可以转换为mex使用matlab的编码器 我当前的代码: F = scatteredInterpolant(X(:), Y(:), Z(:)); [Xq,Yq] = meshgrid(X(1,:),linspace(Y(1,1),Y(end,1),size(Y,1)))

我有散乱的数据[x:,y:,z:],我想要,给定一个新的点x1,y1,在这一点上插值曲面法线。 目前我正在使用matlab中的scatterdinterpolant,然后在想要的点处插值曲面的导数。 我想找到一个更有效的选择,我可以转换为mex使用matlab的编码器

我当前的代码:

F = scatteredInterpolant(X(:), Y(:), Z(:)); 
[Xq,Yq] = meshgrid(X(1,:),linspace(Y(1,1),Y(end,1),size(Y,1))); 
Zq = F(Xq,Yq); 
[ZX,ZY] = gradient(Zq); 
gradX=interp2(Xq, Yq, ZX,X1, Y1); 
gradY=interp2(Xq, Yq, ZY,X1, Y1);

提前感谢

请发布您已有的代码和一组输入输出数据f=scatterdinterpolantx:,Y:,Z:;[Xq,Yq]=meshgridX1,:,linspace1,1,Yend,1,sizeY,1;Zq=FXq,Yq;[ZX,ZY]=gradientZq;梯度x=2xq,Yq,ZX,X1,Y1;gradY=2xq,Yq,ZY,X1,Y1;您好-如果您按上面的编辑,您可以将此代码添加到原始问题中。阅读注释中的代码很困难。