Parameter estimation from a user specific algorithm

3 views (last 30 days)
I have a complex physical system which I can model through an algorithm which I've written in Matlab. It's not a standard state-space, ODE, etc. model, it's an algorithm for which I specify input parameters and I obtain an output which I can match to data which I take from the real physical system.
Is there any tool in Matlab which allows me to run my algorithm with different parameter values and try to estimate the parameters for a best fit to my data? I've tried writing an MCMC parameter walk with least squares fitting, but its a work in progress and quite inefficient at the moment, and was wondering if there was something out there already that could do this for me.
Thanks!
  1 Comment
Muthu Annamalai
Muthu Annamalai on 27 Feb 2013
Do you mean Monte Carlo technique by MCMC ? I think you can try to use rand() in a for-loop to pickout the various parameters and find fitness functions to see goodness of fit from your solver/curve-fit solutions.
You can try to see if there is a match with MATLAB System ID toolbox http://www.mathworks.com/products/sysid/examples.html?s_cid=BB or the MATLAB genetic algorithm http://www.mathworks.com/help/gads/genetic-algorithm.html

Sign in to comment.

Answers (1)

Matt J
Matt J on 26 Feb 2013
Basically any tool in the Optimization Toolbox could be applicable, depending on the constraints (if any) you're imposing on the parameters. Look at LSQNONLIN or FMINCON.

Community Treasure Hunt

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

Start Hunting!