File Exchange

image thumbnail


version 1.2 (65.8 KB) by

Second-order accurate numerical differentiation (N-dimensional)



View License

In its simplest usage DIFFXY uses a second-order accurate scheme to approximate the derivative of a vector y with respect to a vector x. It differs from existing functions in the following ways:

- returns dydx having the same size as y (unlike DIFF which reduces the dimension by 1)
- special treatment of end-points for higher accuracy
- specifically built to handle unequally spaced data

DIFFXY also has the following capabilities

- x and y can be N-dimensional arrays
- operate on chosen dimension of N-d arrays
- computes higher-order derivatives via iteration

See the Help section and demo file for examples and further information.
Please suggest any improvements/report any bugs either in the comments or via email.

Comments and Ratings (8)


Really good and straightforward, convenient to use.


Hi Darren,

Great script you have here. Do you have any ideas where i can find some more information about the differentiation algorithm you are using?



Tested it for 1-dimensional data only: Easy to use, does exactly what it is expected to do. Thank you very much!

Nek Valous

@ Carlos,
Yes this will handle equally spaced data too. The formula I have used reduces to the central difference formula when the data are equally spaced, so the result is mostly the same as GRADIENT in that case.
The first example in the file demo_diffxy demonstrates the case of equally spaced points (follow the link next to 'Published MATLAB Files' above to view).


Carlos (view profile)

I noticed that you specified that this file was made to handle unequally spaced data but, I was wondering if it can also handle equally spaced data? Thank you.



9 Nov 2010 - minor update to demo file to correct figure legend and screenshot

MATLAB Release
MATLAB 7 (R14)

Inspired by: derivative

Inspired: DGradient

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video