MATLAB Answers

multi-variable optimization in matlab?

46 views (last 30 days)
Hi,
I need to minimize a function that involves two variables. The problem is that this function is not directly related to those two variables, which means i can't use the standard optimization functions like fminsearch. Many other variables are to be calculated first, which are actually functions of the first two variables, and then they're used to calculate the function. And I can't put the function and the two variables in one equation. So, what options do I have in matlab to solve this optimization problem?
Thanks

  0 Comments

Sign in to comment.

Accepted Answer

Matt J
Matt J on 6 Dec 2019
Edited: Matt J on 6 Dec 2019
Many other variables are to be calculated first, which are actually functions of the first two variables, and then they're used to calculate the function....And I can't put the function and the two variables in one equation.
None of the above are requirements of fminsearch or any other Matlab optimization routine. Go ahead and create a function with as many lines as you need. Pass this function to fminsearch, fminunc, or whatever...

  4 Comments

Show 1 older comment
Abdelrahman Taha
Abdelrahman Taha on 7 Dec 2019
That's really helpful, thank you.
Matt J
Matt J on 7 Dec 2019
You're welcome. One final footnote, though. fminunc and fmincon assume that your objective function is differentiable. This does not mean it must be expressed in a single of code, but it means you must be sure, on analytical grounds, that the code represents a differentiable operation. fminsearch does not require this.
Abdelrahman Taha
Abdelrahman Taha on 7 Dec 2019
Thanks for highlighting that. They're all linear equations, so both fmincon and fminsearch will be ok.

Sign in to comment.

More Answers (0)

Sign in to answer this question.


Translated by