How do I estimate independent and dependent parameters simultaneously?

2 次查看(过去 30 天)
Hello everyone,
I would like to run a parameter estimation of a lookup table in my simulink model. However, I would like for this lookup table to meet the following 2 requirements:
1) strict monotonic incrementation
2) remaining within 2 bounds, one upper bound and one lower bound
To achieve the first requirement in the "Table data" field I put the cumulative sum of the values stored in the variable ydelta. Thus, if yn are the 11 table output values, ydelta is (y1, y2–y1, y3–y2, ..., y11–y10). To ensure monotonically increasing table output values, the difference between adjacent table output values should be positive. To do so, I estimate ydelta in the Estimation tool using the measured I/O estimation data, and constrain ydelta(2:end) to be positive during estimation. So i set [-inf zeros(1,10)] in the "minimum" field of ydiff.
However I would also like cumsum(ydelta) to be greater than a lower bound as well as lower than an upper bound. My initial thought was to define a new variable y = cumsum(ydelta) and use a some sort of callback. The Simulink Design and Optimization toolbox user guide says to use the InitFcn callback to define the dependency between the 2 variables, however it then proceeds to say that one should "not estimate the independent (ydelta) and dependent (y) parameters simultaneously. Doing so can lead to incorrect results."
How do you suggest I proceed? Do you have any ideas?

回答(0 个)

Community Treasure Hunt

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

Start Hunting!

Translated by