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.
avec x0: point de départ, lb:lower bounds, ub: upper bounds
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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);
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 !
Partager