How to optimize a multivariable non-linear function?

2 次查看(过去 30 天)
I have a function with several parameters. One of them is a variable and the rest ones should be constants. I want to adjust these constants to make the output value of the function as constant as possible while the variable changes its values in the given range.

采纳的回答

Ryan G
Ryan G 2012-10-1
What is the variable a function of? Time?
Best case, without doing some sort of control system would be to take samples throughout the range. The number of samples would be up to you, and obtain the optimized parameters at those values and then determine how they change over the range.
You could also do something like a parameter sweep or monte carlo simulation where you evaluate the function over and over with random parameters for the constants and choose the best solution.
Depending on the time it takes to evaluate, you could potentially run tens if not hundreds of thousands of evaluations with a PARFOR loop pretty quickly and analyze the results.
  2 个评论
Csaba
Csaba 2012-10-2
No, the variable is length, and the function is independent from time. I try the parameter sweep with nested loops since as I see monte carlo simulation requires simulink and I do not have it. Thanks.
Ryan G
Ryan G 2012-10-2
You don't require Simulink for monte carlo, you can utilize the method within MATLAB

请先登录,再进行评论。

更多回答(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