File Exchange

image thumbnail

Automatic Differentiation for Matlab

version 1.0 (116 KB) by

This package provides automatic first and second derivatives for vector-functions and matrices.

9 Ratings



View License

This package uses forward automatic differentiation to calculate the first and second derivatives of provided user functions. It is 25-30 times faster than
commercially available packages (June 2006).

To calculate the derivatives of function myFunc with respect to x at x=x0 you call

x = myAD(x0);
result = myFunc(x);
functionValue = getvalues(result);
derivatives = getderivs(result);

Comments and Ratings (12)

Jorge Sabat

I am getting this error, do you have any idea of what can be happening?

The following error occurred converting from myAD to double:
Error using double
Conversion to double from myAD is not possible.


I run into the same problem as described by David, input_variable(1)*internal_function_vector(1:N) couldn't go through, the operation is not covered. Otherwise it'll be a terrific package.


Juan (view profile)

Gabriel Peyre

Gabriel Peyre (view profile)

nice and usefull


David (view profile)

This package is only useful if there are no matrix operations in your function, and this includes repmat on vectors. An operation as simple as

est = input_variable(1) * internal_function_vector(1:N)

falls outside the bounds of this routine, so be warned!

masharvi shams

how to use this?plz, help me

Cristian Montes

This is great! Thanks so much. Would you like to port it to R?

Julian Montanez Vega

is very insteresting
excellent work

carlos david vinante bewaller

MATLAB Release
MATLAB 7.0.4 (R14SP2)

MATLAB Online Live Editor Challenge

Win cash prizes and have your live script featured on our website

Learn more

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

» Watch video