Azzera filtri
Azzera filtri

How to optimize a multivariable non-linear function?

2 visualizzazioni (ultimi 30 giorni)
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.

Risposta accettata

Ryan G
Ryan G il 1 Ott 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 Commenti
Csaba
Csaba il 2 Ott 2012
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 il 2 Ott 2012
You don't require Simulink for monte carlo, you can utilize the method within MATLAB

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Get Started with Optimization Toolbox in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by