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 : 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);
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 !