How can I write a self scaling function for fmincon ?

1 visualizzazione (ultimi 30 giorni)
Hey,
I use fmincon and I want to maximize this function =
fun = @(x) -(x(1)*x(2)*x(3))
and now I do not want to change this function everytime I in- or decrease the size of my optimization.
For example:
If I am looking for 6 solutions my function should look like this =
fun = @(x) -(x(1)*x(2)*x(3)*x(4)*x(5)*x(6))
Is there a way to do it automatically ?
Thank you so much!

Risposta accettata

Matt J
Matt J il 28 Nov 2018
Modificato: Matt J il 28 Nov 2018
fun = @(x) -sum(log(x))
  11 Commenti
Tim
Tim il 30 Nov 2018
Ah okay. I will try this as well. One additional question came to my mind: Is my code a good way to minimize each of the objective values individually or would you suggest something else?
Matt J
Matt J il 30 Nov 2018
What is "each of the objective values"?

Accedi per commentare.

Più risposte (1)

Walter Roberson
Walter Roberson il 28 Nov 2018
@(X) -prod(X)
  2 Commenti
Matt J
Matt J il 28 Nov 2018
Care is needed here to avoid overflow/underflow.
Tim
Tim il 29 Nov 2018
Thank you for answer! I appreciate that you are so passionate to solve my problem.

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by