Semiautomatic complex-step differentiation of real-valued functions

1 visualizzazione (ultimi 30 giorni)
I found the linked technical article interesting but don't have the mathematical background to determine how useful it may really be. I'm not affiliated with the author but would like to raise it for comments.
MATLAB code and demos can be found at http://software.seg.org/2009/0001/index.html
Because this is academic software there are the usual style issues and a minor bug in a utility program (on line 24 of pMat.m num2str(dec) should read num2str(ndec)). Also, without the Statistics Toolbox several instances of normrnd(a,b,size(x)) must be replaced with the equivalent a + b*randn(size(x)).
  1 Commento
Mark Shore
Mark Shore il 15 Feb 2012
I do realize this is a non-standard type of question for this forum and am just putting it out there on the off-chance a MATLAB forum member may have some pre-existing knowledge of and interest in the subject.

Accedi per commentare.

Risposte (1)

Andrew Newell
Andrew Newell il 15 Feb 2012
There is another implementation in MATLAB File Exchange that compares this method to others. Complex step derivatives are astonishing and cool, but no more accurate than automatic differentiation. My favorite package for numerical derivatives is John D'Errico's Adaptive robust numerical differentiation: it includes functions for gradient and Hessian.
  1 Commento
Mark Shore
Mark Shore il 15 Feb 2012
Andrew, I do have John's DERIVEST suite of tools (among his other invaluable contributions). I hadn't thought of comparing the relative capabilities, performance and outputs, but that's a very good idea and I'll give it a try.

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by