Code covered by the BSD License

Be the first to rate this file! 10 Downloads (last 30 days) File Size: 2.26 KB File ID: #36837

### Mick Warehime (view profile)

23 May 2012 (Updated )

Fast approximation to the gradient for scattered data and for data defined by a triangulation.

File Information
Description

[ZX,ZY] = TRIGRADIENT(X,Y,Z,T) returns an approximation to the gradient of Z defined on the delaunay triangulation T. ZX corresponds to the gradient in the x direction, dZ/dX, and ZY corresponds to the gradient in the y direction dZ/dY.

If Z is a matrix of size MxN then ZX and ZY will be computed for each of the N columns of Z.

[ZX,ZY] = TRIGRADIENT(X,Y,Z) returns an approximation to the gradient of Z for the scattered data (X,Y).

[ZX,ZY] = TRIGRADIENT(X,Y,Z,'face') returns the value of the of the gradient for each triangular face assuming Z is a piece-wise planar function. ZX(1) is an approximation to the gradient in the x direction of the function Z for the triangle defined by the nodes [x(T(1,:)), y(T(1,:))].

Trigradient uses a first order approximation. Z is assumed to be a piece-wise planar function over the triangulated region. The partial derivative of each plane (ax + by + c = z) is a in the x direction and b in the y direction. A given node in the triangulation is associated with k triangles. The partial derivative at each node is the weighted sum of each of the partial derivatives of the triangles associated with that node. The weightings are the areas of each triangle divided by the total area of all triangles associated with that node.

Acknowledgements

Contours For Triangular Grids inspired this file.

MATLAB release MATLAB 7.12 (R2011a)
Other requirements tricontour.m
24 May 2012

Fixed typos to handle z with multiple columns. Changed several typos in help documentation. Removed two ~ to prevent earlier versions from crashing.

24 May 2012

Corrected a typo in the error output.

29 May 2012

08 Apr 2013

Code is now entirely vectorized. It no longer loops over each node.

Option to allow output of the gradient of individual triangular planes has been added.

08 Apr 2013

Fixed example code.
Fixed bug with number of inputs/options checks.