Gestion des arguments pour une fonction appelé via @
Bonjour,
Je fais une optimisation multigoal via la toolbox matlab. Pour cela, j'ai une fonction [f1 f2]=Simulation(X).
La toolbox cherche donc à minimiser f1 et f2 en modifiant le vecteur de paramètres X.
Code:
1 2 3 4 5
| function [x,fval,attainfactor,exitflag,output,lambda] = Optim(x0,goal,weight,lb,ub)
options = optimset;
options = optimset(options,'PlotFcns', { @optimplotx @optimplotfval @optimplotstepsize });
[x,fval,attainfactor,exitflag,output,lambda] = ...
fgoalattain(@Simulation,x0,goal,weight,[],[],[],[],lb,ub,[],options); |
avec x0: point de départ, lb:lower bounds, ub: upper bounds
Le souci, c'est que j'aimerais ajouter d'autres arguments "fixes" en input de ma fonction simulation. En gros, avoir [f1 f2]=Simulation(X,A,B,C) avec juste X qui soit optimisé et A,B,C des arguments imposés.
Pour l'instant, j'utilise quelques variables global mais en plus d'être moche ça ne résout pas tout mes problèmes.
Alors comment introduire ces arguments et comment appeler ma fonction ?
Merci d'avance !