Global optimization with non linearly linked parameters
1 view (last 30 days)
I need help on how to do this kind of optimization; I have experimental data to fit to a model in the form of M = (2*A*x-B)/(C*x-exp(A^2+B^2)); C = f(ci), my problem is how to express A and B in the optimization problem since they are done with : A^2-B^2 = f(ai,bi) and 2*A*B = f(ai,bi), [C, A, B are arrays, ci,ai,bi are scalars and of course M is an array];
Alan Weiss on 26 Apr 2016
I do not understand which are your control variables (ones that you want the solver to change in order to reach a minimum) and which, if any, are extra constant parameters or data.
You need to have all of your control variables in one vector variable that is usually called x. For example, if your control variables are A and B (matrices), then set
x = [A(:);B(:)];
This means make a vector out of the columns of A, and append to it a vector made out of the columns of B.
Then use one of the Passing Extra Parameters techniques for passing your other parameters.
After you know exactly which are your control variables, you should be able to write your objective function and, if necessary, nonlinear constraint functions.
MATLAB mathematical toolbox documentation