2017-02-16 5 views
0

J'utilise les moindres carrés recusifs (RLS) pour identifier les paramètres du système pour un système dynamique. L'algorithme RLS est implémenté en temps discret, tandis que le système réel est continu. En pratique, cela est facile à faire, mais comment puis-je simuler ces deux ensemble? Une solution séquentielle n'aide pas, puisque je veux utiliser l'estimation RLS pour influencer l'entrée du système.Système discret et dynamique Matlab

Le déclenchement d'événement intégré ne peut arrêter l'intégration que si je l'ai bien compris. Ainsi, je devrais m'arrêter à chaque point d'échantillonnage de l'algorithme RLS et ensuite résoudre l'ode entre les échantillons. -> Comment cela est-il implémenté dans Simulink?

Répondre

0

La seule vraie solution que j'ai trouvé était d'implémenter mon propre RK45 avec la taille de pas adaptative. Il est conçu pour prendre des systèmes discrets et continus (équations d'ode et de différence) et résout avec une taille de pas adaptative jusqu'à ce qu'un nouvel échantillon doive être pris. Cette méthode fonctionne comme un charme - avec une dynamique lente, seuls les points discrets sont échantillonnés pour des temps d'échantillonnage suffisamment petits et une dynamique rapide donne de petites tailles d'étapes d'intégration, comme prévu!

En outre, la mise en œuvre a demandé beaucoup moins d'efforts que prévu et se compare étonnamment bien à matlabs ode45, c'est-à-dire. coût de calcul plus bas, précision plus élevée, moins d'oscillations après des sauts discrets dans l'ode!