필터 지우기
필터 지우기

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 CenterFile Exchange에서 Simulated Annealing에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by