Gypaets/trigradient​2

Version 1.1.0.0 (3.7 KB) by Gypaets
First and second order derivative calculation for scattered data. Fast and accurate method.
417 Downloads
Updated 29 Jun 2017

[ZX, ZY, ZXX, ZYY, ZXY] = trigradient2(X, Y, Z, T, M)
The derivatives of the function Z(X,Y) are calculated with a least squares linear regression. The system of equations is set up with Taylor series from each point to the adjacent vertices. If a vertex is connected to less than five vertices then vertices in two-edge distance are used too.
This derivation method provides much better results than first order approaches. Specially the error of the calculated second order field derivatives is significantly smaller than deriving two times the field with a first order function.
Input:
X= Vector with x-coordinates.
Y= Vector with y-coordinates.
Z= Matrix with function values on each point. If Z has multiple
columns the derivatives for each column are calculated.
Optional argument:
T= Triangulation (Nx3 matrix with polygon vertices). If not given the delaunay triangulation of X,Y is used.
M= Method used for calculation. Default value is 0.
0: One large equation system. Fast.
1: Multiple small equations systems. Slower but depending on the input values more accurate.

Output:
ZX=dz/dx
ZY=dz/dy
ZXX=d^2z/dx^2
ZYY=d^2z/dy^2
ZXY=d^2z/(dx dy)

Cite As

Gypaets (2024). Gypaets/trigradient2 (https://github.com/Gypaets/trigradient2), GitHub. Retrieved .

MATLAB Release Compatibility
Created with R2015b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Categories
Find more on Delaunay Triangulation in Help Center and MATLAB Answers
Acknowledgements

Inspired by: TRIGRADIENT.M

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Versions that use the GitHub default branch cannot be downloaded

Version Published Release Notes
1.1.0.0

Repo update.
Linked to github repository.
Corrected a typo.
Provided alternative 'repelem' to make trigradient2.m compatible with Matlab versions older than 2015.
Added alternative calculation method with many small systems instead of only a large one.
Updated description.
File description update

1.0.0.0

File description update

To view or report issues in this GitHub add-on, visit the GitHub Repository.
To view or report issues in this GitHub add-on, visit the GitHub Repository.