How to optimize a multivariable non-linear function?
1 view (last 30 days)
Show older comments
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.
0 Comments
Accepted Answer
Ryan G
on 1 Oct 2012
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 Comments
Ryan G
on 2 Oct 2012
You don't require Simulink for monte carlo, you can utilize the method within MATLAB
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!