Problem using optimization algortihms

2 次查看(过去 30 天)
Hello everyone, I need to solve an optimization problem. First of all, there are two differential equations like this :
dT(1,1) = (h_int*S_int*(Tt - T) + w*c_eau*(T_in - T))/(m_eau*c_eau);
dT(2,1) = (h_ext*S_ext*(T_air - Tt) + h_int*S_int*(T - Tt))/(c_t);
The free parameters are h_int, h_ext, c_t and L (L is inside S_int and S_ext). I have multiple experiments. The first thing I did is to use the 'nlgreyest' function on each experiment. It works perfectly. Matlab is able to find a very good solution to fit the experimental data with the theoretical model.
I wanted not to use this 'nlgreyest' function anymore but only to use the optimisation algorithm. As I know, the 'nlgreyest' is using 'lsqnonlin' optimization algorithm. I tried to use 'lsqnonlin' but the result is very very bad, If I display the values of the parameters during the optimization process, I see that there are only small changes... I tried the different algorithm 'interior-point', 'active-set', 'trust-region-reflective' but it doesn't change anything. I tried with or without bounds. With 'fmincon' it seems to work better but it is really bad compare to 'nlgreyest'. Do you know why it works with 'nlgreyest' and not with the others functions ? The problem is not very difficult It should work ... Thank you very much for your help. Edouard

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Get Started with Optimization Toolbox 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by