I have a set of nonlinear ordinary differential equations with some unknown parameters that I would like to determine from experimental data. Does anybody know of any good freely available software, or good reference books?
Take a look at my report " Estimation of Rheological Data from Polymer Melt Flow in a Circular Tube". All the features that you are interested are discussed in that report. The coding (shown) is done in Mathematica , but a similar approach can be used using Matlab.
There are many good and related works published in the journal using evolution algorithms. However, you have a set of nonlinear DE, and according to my previous case, the computation is still heavy (depend on the guess solution(s) and data), and do not practical for identifications.
The text "Numerical Methods in Chemical Engineering" by Kenneth J. Beers briefly discusses this. (I wouldn't buy the book to read that part of it, but just get it from the library or view the ebook if possible). The pages are 230-231, for the example of a kinetic rate law parameter estimation. Such optimization is usually unconstrained.
The idea is to minimize the sum of the squared error between the integrated result of the ODE and the experiments by manipulating your unknown parameters. A local minimum suggests the correct parameters have been identified.
As an extension to this idea, If you know the uncertainty bounds on your experimental data points, you can use that uncertainty to estimate the uncertainty in the fitted parameters. This is done by now treating the actual experimental data points as decision variables, and varying them over the constrained bounds of experimental uncertainty. This is a two-layered optimization; a min min problem and a max min problem. The min min problem adjusts the data points over the uncertainty bounds to make the fit as good as possible. The max min problem adjusts them to make the fit as bad as possible. The solved parameter vectors from each case are your worst-case upper and lower bounds on the parameter vector.