フィルターのクリア

simulannealbnd for curve fitting

3 ビュー (過去 30 日間)
Hasan
Hasan 2014 年 5 月 27 日
回答済み: Alan Weiss 2014 年 5 月 27 日
Hi everyone,
I am trying to use simulated annealing for a 10 parameter optimization problem I am trying to solve. I am trying to fit a 10 parameter function to multiple data points spread over time. I have tried using non-linear squares fitting (with multistart) but kept being stuck at local minima. Simulated annealing can be a good alternative.
The problem is the objective function simulannealbnd requires seems to be different that what lsqcurvefit requires. simulannealbnd needs the objective function to give a scalar ouput, which I am not sure what it means for my function over time.
I hope I was clear,
Thanks
Hasan

回答 (1 件)

Alan Weiss
Alan Weiss 2014 年 5 月 27 日
Take a look at this example. It shows doing the same optimization using lsqcurvefit and fminunc. Both simulannealbnd and fminunc use the same scalar objective function.
But if you will allow me to make a suggestion, you will probably be happier running MultiStart and lsqcurvefit for longer rather than using simulannealbnd. This is because the efficiency of simulannealbnd is very low. If you want, you can try running patternsearch from a large number of random start points. That might not be better than MultiStart and lsqcurvefit, but it would almost certainly beat simulannealbnd.
Alan Weiss
MATLAB mathematical toolbox documentation

カテゴリ

Help Center および File ExchangeSimulated Annealing についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by