Method for reducing error with multiple constants and input variables

6 views (last 30 days)
So I'm new to this forum, if I've done anything wrong in the way I've asked this question then apologies.
Basically I have a pretty complicated system which I am trying to model in Matlab. I have a large amount of measured data, and I am taking a sample of 30 representative operating points, each with about 7000 measurements at different conditions. The value which is trying to be modelled can be called x. I have a structure for a model which uses measured input variables at each point and a system of equations (with overall 6 constants) outputs a value for modelled x. I am trying to optimise the model by changing the value of these 6 constant values such that the deviation between the model and the measured value of x and derivative of x at each point is minimised. I had thought to quantify this by counting the number of points where the percentage deviation is +/- 20%, and try and minimise the number of points where this occurs.
The problem I have is that obtaining measured data for each of these operating points takes roughly 2 minutes, which means that all thirty points takes around an hour to run. Therefore optimising the calibration can not realistically be done by randomly varying the values of these 6 constants. I would like to know if there is a mathematical process by which these constants can be optimised, whilst minimising the number of iterations taken to do so?
If anything isn't clear in what I've explained, just let me know and I'll try and clarify it.
Thanks in advance,
Alex

Answers (1)

Star Strider
Star Strider on 19 Apr 2015
If I understand correctly, you are interested in changing paramters in your model to provide an optimal fit between your measured independent variables and your dependent variable. I’m not certain that I understand the model and data you’re fitting, though.
Depending on your model structure, there are several efficient ways in MATLAB to deal with this. The technique is termed ‘parameter estimation’, and depending on whether your model is linear or nonlinear, there are several functions in MATLAB itself, the Statistics Toolbox, and the Optimization and Global Optimization Toolboxes to do that. See specifically fminsearch, nlinfit and lsqcurvefit for nonlinear problems. There are a number of possibilities for linear problems, including the simplest ldivide (\). All are efficient and relatively fast, but depending on your model and data, would take varying lengths of time to estimate your parameters.

Categories

Find more on Linear Programming and Mixed-Integer Linear Programming in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!