Automatic Differentiation with Matlab Objects

Automatically compute derivatives of functions, without using finite-difference approximations.
3,2K download
Aggiornato 29 mar 2011

Visualizza la licenza

Automatic differentiation is a technique for computing the derivatives of a function using the chain rule. Matlab objects make it easy to implement automatic differentiation. Note that this package is implemented in a rather old version of Matlab. You may need to edit it for newer versions.

An example of using automatic differentiation to compute the value and derivative of the Rosenbrock function at the point [1,2] is as follows:

x=adiff([1,2]); % create the automatic differentiation object at [1,2]
rosen = 100*(x(1)^2-x(2))^2+(x(1)-1)^2; % compute rosenbrock func.
[x,dx] = adiffget(x); % retrieve the value x and derivative dx

Then x = 100 and dx = [-400,200].

The adiff object includes a helper function to convert any optimization without derivatives into one with derivatives. For example, if you have a function f which you wish to optimize, but it doesn't compute derivatives, it is usually enough to call

fminunc('autodiff',x0,options,'f',...)

The zip file includes a pdf help file.

Cita come

William McIlhagga (2026). Automatic Differentiation with Matlab Objects (https://it.mathworks.com/matlabcentral/fileexchange/26807-automatic-differentiation-with-matlab-objects), MATLAB Central File Exchange. Recuperato .

Compatibilità della release di MATLAB
Creato con R11.1
Compatibile con qualsiasi release
Compatibilità della piattaforma
Windows macOS Linux
Categorie
Scopri di più su Systems of Nonlinear Equations in Help Center e MATLAB Answers
Versione Pubblicato Note della release
1.4.0.0

Changed code & documentation to fix problem noted by Dan.

1.1.0.0

Minor bug fix to atan function

1.0.0.0