MATLAB: How to write a self scaling function for fmincon

automaticallydecreasefmincongoalincreaseMATLAB and Simulink Student Suite

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!

Best Answer

fun = @(x) -sum(log(x))