Bonjour à tous,
Je suis bloquée pour optimiser une fonction sous Matlab.
Je résume la situation : je dois trouver les paramètres d’un filtre sous Simulink (2 constantes de temps t1 et t2, et un gain k) pour que la simulation permette de représenter mon système réel. Du système réel, j’ai comme données le temps de réponse à 63% et le dépassement lors d’une réponse à un échelon. Le but est donc de trouver les paramètres t1, t2 et k qui permettent d’avoir le même dépassement et temps de rep à 63% que le système réel.
Je n’ai pas accès à plusieurs paramètres sous simulink (boites noires qui représentent d’autres paramètres), j’ai donc une fonction dans un script matlab qui calcul d(dépassement de la simulation) et t63 (temps de rep à 63% de la sim), mais ces deux paramètres ne sont pas liés à t1, t2 et k dans le calcul.
Je pense utiliser la fonction objective suivant pour l’instant : min f= (d – dref)²/d² + (t63 – t63ref)²/t63² et fminsearch car je n’ai pas la toolbox optimization.
A chaque itération, il faut modifier les paramètres t1, t2 et k, lancer la simulation et ensuite calcule t63 et d grâce à la fonction que j’ai écrite sous matlab.
C’est sur cette partie que je bloque, je ne vois pas comment faire pour indiquer à matlab que pour modifier les paramètres d et t63 il faut jouer sur t1, t2 et k puisqu’ils n’apparaissent dans aucun calculs et que je n’ai pas de contraintes dessus …
Est-ce que quelqu’un a une idée pour m’aider ?
Merci en tout cas pour votre aide et j’espère que j’ai été claire !
-----