Bonjour Mathusalem
J'ai trouvé une autre méthode pour faire varier les paramètres d'une fonction et l'utiliser dans un fsolve.
Premièrement je déclare la fonction avec la commande inline :
F=inline('1.7321*abs(d)*(1-cos(x))-(0.5*(3*a+b)+(a-b)*cos(2*x+pi/3))*c','x','a','b','c','d');
puis je fixe mes paramètres
je nettoie la place pour la grandeur qui m'interesse:
et je la déclare comme étant un objet symbolique
et c'est là qu'intervient la feinte : je redéclare une fonction avec la commande inline, en utilisant cette fois ci mes paramètres :
puis je résouds
sys=fsolve(G,1,optimset('fsolve'))
Perso j'utilise cette méthode dans un bloc S-Function pour faire tourner un simulateur. C'est certes moins élégant que ta méthode mais je n'ai pas réussi à aboutir avec ce que tu as donné
Partager