Modélisation et Simulation G. Bontempi Département d’Informatique Boulevard de Triomphe - CP 212 http://www.ulb.ac.be/di Cours de modélisation et simulation – p. 1/69 Ensembles infinis • La fois passée nous nous sommes occupés des automates, c.-à-d. systèmes dynamiques où le temps est discret e les ensembles U ,X et Y sont finis. • Ici nous allons considérer le cas où le temps est continu et les ensembles U ,X et Y sont infinis mais avec une dimensionnalité finie. • C’est le cas des espaces vectoriels où chaque composant de l’espace est décrit comme un vecteur et chaque vecteur peut être représenté comme combinaisons linéaire d’un nombre fini de vecteurs de base. • Par exemple l’ensemble des réels R est un espace vectoriel unidimensionnel. Cours de modélisation et simulation – p. 2/69 Dimensionnalité d’un espace vectoriel • Un espaces vectoriel est un ensemble d’éléments (appelés vecteurs) pour lesquelles les opérations de somme et de produit par un scalaire sont définies. • La dimensionnalité d’un espace vectoriel V est le cardinal (c.-à-d. le nombre de vecteurs) d’une base de V. • La base d’un espace vectoriel est un ensemble de vecteurs telle que 1. tout vecteur de l’espace peut être representé comme combinaison linéaire des vecteurs de la base 2. aucun element de la base ne peut être representé comme combinaison linéaire des autres. Cours de modélisation et simulation – p. 3/69 Systèmes à dimensionnalité finie Maintenant nous allons nous occuper de systèmes à temps continus où les ensembles U, X, Y • sont continus • sont des espaces vectoriels à dimensionnalité finie • et pour lesquels il est possible de définir une distance entre deux éléments Définition. Un système est dit à dimensionnalité finie si U, X et Y sont des espaces vectoriels à dimensionnalité finie. Le réservoir et le système masse-ressort sont deux exemples de systèmes à dimensionnalité finie. Cours de modélisation et simulation – p. 4/69 Systèmes réguliers Définition. Un système continu est dit régulier si • les ensembles U, Ω, X, Y et Γ sont des espaces vectoriels avec norme. • la fonction de transition est continue par rapport à tous ses arguments • la dérivée d dt ϕ(t, t0 , x, u(·)) existe et elle est continue par rapport à t pour toutes les valeurs où u est continue. • la transformation η est continue par rapport à tous ses arguments Cours de modélisation et simulation – p. 5/69 Équation différentielle vectorielle Une équation différentielle vectorielle dx(t) = f (x(t), u(t), t), ẋ = dt x(t0 ) = x0 est un système de n équations différentielles ordinaires du premier ordre n ẋi = dxi (t) dt = fi (x(t), u(t), t), i = 1, . . . , n également appelé flot. Cours de modélisation et simulation – p. 6/69 Équations différentielles La propriété de régularité est normalement faite afin de pouvoir lier l’étude des systèmes dynamiques à celui des équations différentielles. En effet, nous pouvons prouver le théorème suivant. Théorème. Le mouvement x(·) = ϕ(·, t0 , x0 , u(·)) d’un système régulier à dimensions finies est la solution d’une équation différentielle vectorielle du type ẋ = dx(t) = f (x(t), u(t), t), dt x(t0 ) = x0 Définition. Un système régulier est dit autonome si sa dynamique est décrite par une équation différentielle autonome dx(t) ẋ = = f (x(t)) dt c.-à-d. une équation où f ne dépend pas explicitement du temps t. Cours de modélisation et simulation – p. 7/69 Équations différentielles (II) • La notation basée sur le formalisme des équations différentielles permet de décrire un système dynamique en corrélant les valeurs des variables d’entrée et d’état (et des leurs dérivées) à l’instant t. • La trajectoire du système peut ainsi être obtenue en intégrant (analytiquement ou numériquement) l’équation différentielle vectorielle. • En d’autres termes, la fonction de transition ϕ est représenté d’une manière implicite par l’équation ẋ = dx(t) dt = f (x(t), u(t), t), où f est dénotée la fonction génératrice du système. • Dans la plupart des cas réels les systèmes sont décrits par leur fonction génératrice. • La théorie des systèmes s’occupe donc de trouver des relations entre les propriétés de la fonction génératrice et les propriétés de la fonction de transition. • Il n’est pas possible de calculer analytiquement la solution d’une équation différentielle d’ordre plus grand que deux, à part quelque cas particulier. La raison principale est liée à la possible non linéarité des fonctions f (·). Cours de modélisation et simulation – p. 8/69 Etats d’équilibre • Considérons un système ẋ = dx(t) = f (x(t), u(t)). Pour une fonction dt d’entrée ū(t) donnée, les états d’équilibre, s’ils existent, sont les racines du système d’équations f (x, ū(t), t) = 0 • Par exemple, pour le système ( ẋ1 = f1 (x1 (t), x2 (t), u(t)) = x2 + u ẋ2 = f2 (x1 (t), x2 (t), u(t)) = x1 (1 − x21 ) + x2 + u3 les états d’équilibre associé à l’entrée ū(t) = 0 sont x̄(1) = [0, 0], x̄(2) = [1, 0], x̄(3) = [−1, 0] Cours de modélisation et simulation – p. 9/69 Espace et portrait de phases • Considérons le système dynamique ẋ = dx(t) dt = f (x(t), u(t), t) où x ∈ X. • L’espace X de dimensionnalité n est aussi appelé l’espace de phases. • L’état x(t) du système à un particulier instant t peut être représenté par un point P dans l’espace de phases ayant coordonnées [x1 (t), x2 (t), . . . , xn (t)]. • Une trajectoire du système est représenté par une séquence de points dans l’espace. L’ensemble de trajectoires est représenté par un flot dans l’espace. En général l’évolution d’un système est représenté par un mapping de X sur lui même. • La connaissance du flot de trajectoires nous renvoie de l’information sur le comportement qualitatif du système dynamique (portrait des phases). Cours de modélisation et simulation – p. 10/69 Espace et diagramme des phases (II) • Le portrait des phases est une manière de compresser l’information sur l’évolution du système. • L’information sur la variable t est absente. • Les flèches indiquent la direction de l’évolution sans spécifier la valeur de t. • La tangente à une trajectoire dans l’espace des phases représente la direction de la vitesse v. • Les composantes du vecteur v selon les axes xi , i = 1, . . . , n sont données par fi (x(t), u(t), t), i = 1, . . . , n. Cours de modélisation et simulation – p. 11/69 Exemple Considérons le système où u = 0 ( ẋ1 = f1 (x1 (t), x2 (t), u(t)) = x2 + u ẋ2 = f2 (x1 (t), x2 (t), u(t)) = −x1 (1 − x21 ) + x2 + u3 • dans le point x1 = 2, x2 = 2 les dérivées prennent les valeurs ẋ1 = 2, ẋ2 = 8 • dans le point x1 = 3, x2 = 3 les dérivées prennent les valeurs ẋ1 = 3, ẋ2 = 27 Cours de modélisation et simulation – p. 12/69 5 x2 4 3 2 1 0 x1 −1 −1 0 1 2 3 4 5 Cours de modélisation et simulation – p. 13/69 Exemple Ceci est le portrait des phases où tous les vecteurs ont été normalisés. 4 3 2 1 0 −1 −2 −3 −4 −4 −3 −2 −1 0 1 2 3 4 Script MATLAB portrait.m Cours de modélisation et simulation – p. 14/69 Exemples • Changement de concentration • Croissance et décroissance • Croissance avec saturation • Système électrique • Système Lotka Volterra • Système pendule Cours de modélisation et simulation – p. 15/69 Changement de concentration • Ce modèle décrit l’évolution d’une quantité en fonction d’une entrée. • Applications pratiques: le modèle peut décrire l’évolution de la quantité de marchandise d’un entrepôt où le volume d’un réservoir sur la base d’un débit en entrée, ainsi que le changement de concentration d’un milieu. • Hypothèses, assomptions et connaissance au préalable: • aucun feedback de l’état sur le taux de changement est présent. • Le changement d’état est complètement déterminée par le flux en entrée. • Le taux de changement peut être aussi positif que négatif. • L’état est observable. • Équations: ( ẋ(t) = cu(t), y(t) = x(t) Cours de modélisation et simulation – p. 16/69 Croissance et décroissance exponentielle • Dans ce système la valeur de l’état détermine le taux de changement de l’état même (feedback). Ceci amène à la formation d’une dynamique exponentielle indépendamment de la présence d’une entrée. • Applications pratiques: évolution d’une population (par exemple des lapins) en absence de prédateurs. Autres systèmes qui peuvent être modélisés sont: l’évolution de l’intérêt dans un compte en banque, la croissance économique, la désintégration radioactive (decay). • Hypothèses, assomptions et connaissance au préalable: • le changement d’état est complètement déterminé par l’état même. • aucune entrée exogène. • ( ẋ(t) = cx(t) y(t) = x(t) • la solution est x(t) = x(0) expct Cours de modélisation et simulation – p. 17/69 Croissance et décroissance exponentielle • Comment définir la constante c dans un cas pratique? • Supposons que r soit le pourcentage de croissance par unité de temps, c.-à-d. que pour t = 1 r r x(0) = x(0) 1 + x(1) = x(0) + 100 100 • Pour que la solution x(t) = x(0) expct satisfait cette condition t r r r ln(1+ 100 t ) = x(0) 1 + ⇒ x(t) = x(0) exp c = ln 1 + 100 100 • Donc, si la population double chaque année alors r = 100 et le temps est mesuré en années c = ln 2 Cours de modélisation et simulation – p. 18/69 Croissance logistique • Le modèle ẋ = cx pour c > 0 est une représentation simpliste d’une population croissante. En réalité, dans les processus physiques, aucune croissance peut continuer à l’infini. Quelque processus s’arrête quand le seuil supérieur est atteint, dans d’autres la croissance est ralentie en fonction du niveau. Ce deuxième exemple de croissance est dénommé la croissance logistique. Le système est non linéaire. • Applications pratiques: dynamique des populations, systèmes près de la saturation. La validité du modèle logistique a été testée dans plusieurs expériences en laboratoire où des colonies de bactéries, levure ou d’autre organismes simples ont été fait développer dans des conditions de climat constant, présence de nourriture et absence de prédateurs. Les résultats expérimentaux ont montré une très bonne correspondance entre le modèle mathématique et la réalité expérimentale. Par contre la validation à été moins convaincante dans le cas de populations d’organismes plus complexes. Cours de modélisation et simulation – p. 19/69 Croissance logistique • Hypothèses, assomptions et connaissance au préalable: le modèle logistique s’appuie sur deux hypothèses: 1. si la population est petite, le taux de croissance est presque directement proportionnel à la taille de la population. 2. si la population est trop grande, le taux de croissance devient négatif. • ( ẋ(t) = cx(t)(1 − x(t) k ) y(t) = x(t) Notons que si x est petit l’équation revient à ẋ(t) = cx(t) et si x > k alors ẋ < 0. Cours de modélisation et simulation – p. 20/69 Système électrique: circuit RLC série vR(t) vL(t) i(t) R L C u(t) R ẋ1 (t) = − L x1 (t) − 1 L x2 (t) + vC(t)= y(t) 1 L u(t) ẋ2 (t) = C1 x1 (t) y(t) = x (t) 2 La propriété principale d’un condensateur est de pouvoir stocker des charges électriques opposées sur ses armatures (accumulateur d’énergie). La valeur absolue de ces charges est proportionnelle à la valeur absolue de la tension qui lui est appliquée. Cours de modélisation et simulation – p. 21/69 Connaissances au préalable • On admet que l’inductance L, la résistance R et la capacité C sont constantes et ne dépendent pas du niveau de courant i(t). • Loi d’Ohm: vR (t) = Ri(t) où vR (t) est la tension aux bornes d’une résistance R. • Loi de Faraday: vL (t) = L di(t) où vL (t) est la tension aux bornes d’une dt inductance L. • Loi de Coulomb : i = q̇(t) = dq(t) dt • Loi q = CvC (t) c.-à-d. la différence de potentiel vc (t) aux bornes d’un condensateur est proportionnelle aux charges qui sont transférées ou c (t) = Ci en d’autres terms dvdt • Loi des mailles de Kirchhoff : la somme algébrique des tensions rencontrées le long d’une maille est nulle. Cours de modélisation et simulation – p. 22/69 Dérivation du modèle En appliquant la loi des mailles de Kirchoff nous obtenons di(t) + vC (t) ⇔ dt R 1 1 di = − i − vC + u(t) dt L L L u(t) = vR (t) + vL (t) + vC (t) ⇔ u(t) = Ri(t) + L Puisque q i vC = ⇒ v̇C = C C en posant x1 (t) = i(t), x2 (t) = vC (t), y = x2 (t) nous obtenons le système R ẋ1 (t) = − L x1 (t) − ẋ2 (t) = C1 x1 (t) y(t) = x (t) 1 L x2 (t) + 1 L u(t) 2 Cours de modélisation et simulation – p. 23/69 Système électrique Pour la fonction d’entrée u(t) = 1: Cas d’étude 7: simulation 1 1.4 0.6 0.4 1 0.3 0.8 x2 1.2 x1 0.5 0.2 0.6 0.1 0.4 0 0.2 −0.1 0 2 4 6 t 8 10 0 0 2 4 6 8 10 t Interpretation: dès que le condensateur (C) est relié au générateur, un certain nombre de charges électriques passent d’une armature à l’autre. Ce déplacement constitue un courant électrique qui est appelé courant de charge du condensateur. Le courant de charge persiste jusqu’à ce que la quantité d’électricité parvenue sur les armatures du condensateur engendre, entre celles-ci, une différence de potentiel égale à la tension de la pile. Le condensateur est alors dit chargé. Cours de modélisation et simulation – p. 24/69 Système électrique Pour la fonction d’entrée u(t) = 1 et R = 0: 2 0.8 1.8 0.6 1.6 0.4 1.4 0.2 1.2 x2 x1 Cas d’étude 7: simulation 1 1 0 1 −0.2 0.8 −0.4 0.6 −0.6 0.4 −0.8 0.2 −1 0 2 4 6 t 8 10 0 0 2 4 6 8 10 t il est possible d’injecter dans le circuit des oscillations. Cours de modélisation et simulation – p. 25/69 Système pendule u o θ l θ 2 mu l sin θ θ mg D Cours de modélisation et simulation – p. 26/69 Connaissances au préalable • Soit la masse est supposée ponctuelle, c.-à-d. concentrée dans un point fixe et le fil de masse négligeable. • La masse m est soumise à la force de gravité mg qui peut être décomposé en deux termes: le premier est dirigé comme le fil et il est compensé par la tension du fil, le deuxième est dirigé de manière perpendiculaire au fil et a un module mg sin(θ). • La force de friction peut être considéré proportionnelle à la vitesse l sin dθ dθ ds = ≈l = lθ̇ dt dt dt du pendule selon une constante k. • L’action externe est appliquée en imposant une rotation autour de l’axe vertical de vitesse angulaire u = ω. Ceci revient à appliquer sur la masse m une force centrifuge horizontale de module mω 2 D = mu2 l sin θ où D = l sin θ est la distance de l’axe de rotation au centre de la masse. Cours de modélisation et simulation – p. 27/69 Dérivation du modèle En utilisant la deuxième loi de la dynamique, suite aux directions des forces et du déplacement θ, nous obtenons mlθ̈ = −mg sin(θ) − klθ̇ + mu2 l sin(θ) cos(θ) (1) En posant θ = x1 , θ̇ = x2 , nous pouvons écrire le système sous la forme ( ẋ1 = x2 ẋ2 = − gl sin x1 − k m x2 + u2 sin(x1 ) cos(x1 ) Cours de modélisation et simulation – p. 28/69 Système Lotka Volterra • Les équations de Lotka-Volterra, que l’on désigne aussi sous le terme de "modèle proie-prédateur", sont un couple d’équations différentielles non-linéaires du premier ordre, et sont couramment utilisées pour décrire la dynamique de systèmes biologiques dans lesquels un prédateur et sa proie interagissent. • Elles ont été proposées indépendamment par le biologiste américain Alfred J. Lotka en 1925 et par le mathématicien italien Vito Volterra en 1926. • Volterra proposa ces équations afin de modéliser l’évolution de la quantité de poisson pêchée dans la mer Adriatique dans la période suivante la première guerre mondiale. • Une application classique où ces équations ont été validées concerne la dynamique du lynx et du lièvre des neiges, pour lequel de nombreuses données de terrain ont été collectées sur les populations des deux espèces par la Compagnie de la baie d’Hudson au XIXe siècle. • Ce modèle n’a pas seulement une valeur historique mais il est aussi le point de départ d’une série d’effort de modélisation d’entités interagissantes dans la biologie, l’écologie et l’économie. Cours de modélisation et simulation – p. 29/69 Cours de modélisation et simulation – p. 30/69 Ces équations modélisent les taux de croissance ẋ1 et ẋ2 de deux populations qui interagissent dans un écosystème clos, où x1 est l’effectif d’une population de proies et x2 est l’effectif d’une population de prédateurs. Nous supposons que: • l’espèce 1 (proie) possède une quantité illimitée de nourriture et de ressources et que ses individus ne soient pas en compétition entre eux. • l’espèce 2 (prédatrice) se nourrit exclusivement des individus de l’espèce 1, qui sont en nombre limité et que ceci cause donc une compétition entre les individus de l’espèce 2 • l’espèce 1 croit exponentiellement en absence des prédateurs • l’espèce 2 décroît exponentiellement en absence des proies Cours de modélisation et simulation – p. 31/69 Les équations s’écrivent ( ẋ1 = a11 x1 − a12 x1 x2 (proie) ẋ2 = a21 x1 x2 − a22 x2 (prédateur) où tous les coefficients sont positifs et ont la signification suivante: • a11 est le taux de natalité des proies • a12 est le taux de mortalité des proies suite à prédation • a21 est le taux de reproduction des prédateurs: nombre de prédateurs nés par proie capturée • a22 est le taux de mortalité des prédateurs Cours de modélisation et simulation – p. 32/69 Système Lotka Volterra Cas d’étude 10: simulation 1 4 3 3.5 2.5 3 2 x2 1.5 2 1.5 1 1 0.5 0.5 0 50 100 0 150 0 50 100 t 150 t Portrait de phases 4.5 4 3.5 3 2.5 2 0 x x 1 2.5 2 1.5 1 0.5 0 0 0.5 1 1.5 x1 2 2.5 3 Cours de modélisation et simulation – p. 33/69 Système St. Valentin • Un système dynamique très intéressant mais très compliqué est le systèmes des relations humaines comme, par exemple, le systèmes des relations dans un couple. • Il suffit penser à l’évolution temporelle des sentiments entre deux individus. • On retrouve facilement des comportements stables, des changements imprévus et brusques, des collapsus. • Comment modéliser la relation amoureuse entre deux individus? • Strogatz dans son article Love affairs and differential equations (1988) a proposé un modèle pour modéliser la amoureuse entre Romeo et Juliette. • S. Rinaldi dans son article Laura and Petrarch: an intriguing case of cyclical love dynamics (1998) a étudié la relation entre le poète et sa muse. Cours de modélisation et simulation – p. 34/69 Système St. Valentin • Soit r(t) la variable d’état positive (négative) qui représente l’amour (haine) de Romeo pour Juliette et j(t) la variable d’état positive (négative) qui représente l’amour (haine) de Juliette pour Romeo. • Supposons que dans notre modèle Romeo est un amoureux qui a le goût de la conquête mais qui déteste les liens trop étouffants. En d’autres termes, Romeo est d’autant plus froid que l’amour de Juliette augmente mais que il retrouve soudainement l’intérêt pour elle alors qu’elle tend à s’éloigner. • Juliette, de son coté, est plus rationnelle et tend à reproduire le comportement de Romeo. • Comment va évoluer leur relation? Afin d’étudier plus formellement leur relation et prédire leur avenir, nous pouvons faire appel à un système d’équations différentielles ( ṙ(t) = −aj(t) j̇(t) = br(t) , où a > 0, b > 0 • Est-ce il y a des états d’équilibre? Comment leur histoire va évoluer? Cours de modélisation et simulation – p. 35/69 Fuis-moi je te suis, suis-moi je te fuis 0.5 0.4 0.3 0.2 Juliette 0.1 0 −0.1 −0.2 −0.3 −0.4 −0.5 −0.5 0 Romeo 0.5 Cours de modélisation et simulation – p. 36/69 Fuis-moi je te suis, suis-moi je te fuis j Romeo est indifferent Juliette aime Romeo Romeo aime Juliette Juliette est indifferente Romeo déteste Juliette Juliette est indifferente r Romeo est indifferent Juliette déteste Romeo Cours de modélisation et simulation – p. 37/69 Essayez maintenant de modéliser • d’autres dynamiques (amour durable, épanouissement lent, coup de foudre) • d’autres attitudes par rapport à l’autre (stable, fidèle, réaliste, optimiste, goût de la conquête, compatissant), • le fait que l’amour d’un de deux ne soit pas visible à l’autre (timidité) • le fait que la dynamique dépende conjointement de deux niveaux (estime mutuelle). Cours de modélisation et simulation – p. 38/69 Le modèle de Rinaldi • Laura est décrite par une seule variable L(t) qui représente son amour pour le poète. • Petrarca est plus compliqué et demande deux variables: son amour P (t) pour Laura et son inspiration poétique Z(t). Ici les valeurs positives signifient amour et les valeurs négatives désespoir. dL dt dP dt dZ dt = −α1 L(t) + RL (P (t)) + β1 AP AL = −α2 P (t) + RP (L(t)) + β2 1+δZ(t) = −α3 Z(t) + β3 P (t) où αi sont les facteurs d’oubli, AP < 0 (AL > 0) est le charme de Petrarca (Laura) sur Laura (Petrarca) et RL (P (t)) (RP (L(t))) est la réponse de Laura (Petrarca) à l’amour de Petrarca (Laura). Cours de modélisation et simulation – p. 39/69 Laura et Petrarca Cours de modélisation et simulation – p. 40/69 Dans le modèle de Strogatz la réponse RL (P (t)) = βP (t) était linéaire. Rinaldi considère un cas où le comportement est linéaire pour petites valeurs de P mais non linéaire pour des grandes. Par exemple, si Laura est gêné par trop amour et compatissante suite à un excès de désespoir, nous pourrions écrire RL = β1 P 1− 2 ! P γ 1.5 1 0.5 0 −0.5 −1 −1.5 −3 −2 −1 0 1 2 3 Il est intéressant de remarquer que Rinaldi a trouvé une intéressante correspondance entre la solution oscillante de sont système et l’évolution du sentiment du poète, obtenue par le biais d’une analyse littéraire de ses poèmes. Cours de modélisation et simulation – p. 41/69 Stabilité • La notion qualitative de stabilité fait référence à une propriété d’insensibilité d’une certaine entité à des perturbations ou à des changements dans les conditions environnementales. • Un problème classique de la théorie des systèmes est celui de la stabilité. • Ceci consiste à examiner si le comportement nominale d’un système est semblable au comportement d’un système perturbé pour des perturbations suffisamment petites. • Par mouvement nominale nous entendons le mouvement ϕ(·, t̄, x̄, ū(·)) pour une fonction d’entrée ū, un état initial x̄ et un instant initial t̄. Par mouvement perturbé nous entendons le mouvement obtenu à la suite d’une perturbation de l’état initial x̄. • La notion de stabilité dépend d’une notion de similarité qui est quantifiée par l’utilisation d’une norme. Une condition nécessaire est donc que on puisse définir une norme dans l’espace d’état X. Cours de modélisation et simulation – p. 42/69 Stabilité du mouvement Nous allons donc considérer la distance entre la suite des états du mouvement nominal et du mouvement perturbé et vérifier si cette distance reste bornée ou pas dans le temps. Définition. Un mouvement ϕ(·, t̄, x̄, ū(·)) est dit stable si pour tout ǫ > 0 il existe un δ > 0 telle que pour tous les x̂ qui satisfont kx̂ − x̄k ≤ δ nous avons kϕ(t, t̄, x̂, ū) − ϕ(t, t̄, x̄, ū)k ≤ ǫ pour tous les t ≥ t̄. Définition. Un mouvement ϕ(·, t̄, x̄, ū(·)) est dit instable s’il n’est pas stable. Cours de modélisation et simulation – p. 43/69 Mouvement stable et instable 2ε 2δ 2ε 2δ perturbé nominal nominal perturbé perturbé En d’autres termes, un mouvement stable avec condition initiale x̄ est un mouvement tel que pour tout voisinage Vǫ (même très petit) de ce mouvement il est possible de trouver une condition initiale proche de x̄ telle que le mouvement perturbé correspondant reste indéfiniment dans Vǫ Par contre un mouvement est instable s’il existe un voisinage Vǫ tel qu’aucune perturbation (même minime) de la condition initiale ne permette au mouvement perturbé d’y rester pour tout t. Cours de modélisation et simulation – p. 44/69 Exemple Considérons le système qui décrit l’évolution de la tension x aux bornes d’un condensateur C traversé par un courant u: 1 ẋ(t) = u C Soit le mouvement nominale déterminé par t̄ = 0, x(0) = x̄ = 0 et u(·) = ū. Nous obtenons ū x(t) = ϕ(t, t̄, x̄, ū) = t C Si nous posons x(0) = x̂ le mouvement sera perturbé ū x(t) = ϕ(t, t̄, x̂, ū) = t + x̂ C Si nous posons δ = ǫ il s’ensuit que pour kx̂k ≤ δ kϕ(t, t̄, x̂, ū) − ϕ(t, t̄, x̄, ū)k ≤ ǫ ⇒ kx̂k ≤ δ = ǫ Le mouvement est donc stable. Cours de modélisation et simulation – p. 45/69 Exemple (II) Étudier la stabilité du système à temps discret ( x1 (t + 1) = x2 (t) x2 (t + 1) = x1 (t) + x2 (t) + u(t) pour les conditions nominales t̄ = 0, x(0) = x̄ = [1, 1]T , ū = 0 Le mouvement nominal est donné par la séquence x(1) = " # 1 2 , x(2) = " # 2 3 , x(3) = " # 3 5 Qu’est-ce qu’on obtient si la condition initiale est x(0) = x̂ = x̄ + [δ, 0]T ? x(1) = " 1 2+δ # , x(2) = " # 2+δ 3+δ , x(3) = " 3+δ 5 + 2δ # , x(4) = " # 5 + 2δ 8 + 3δ Cours de modélisation et simulation – p. 46/69 Exercice Étudier la stabilité du système à temps continu ẋ = Kx, x(0) = x̄ pour K = 1 et K = −1. Cours de modélisation et simulation – p. 47/69 Stabilité de l’état d’équilibre Un état d’équilibre est un exemple particulier de mouvement. Nous pouvons donc étendre la définition de stabilité à un état d’équilibre. Définition. Un état d’équilibre x̄ correspondant à une entrée ū(·) et à un instant initial t̄ est dit stable si pour chaque ǫ > 0 il existe un δ > 0 tel que pour tous les x̂ qui satisfont la relation kx̂ − x̄k ≤ δ nous avons kϕ(t, t̄, x̂, ū) − x̄k ≤ ǫ ≥ t̄ En d’autres termes, un état d’équilibre x̄ est stable si pour tout voisinage circulaire Vǫ de x̄ il est possible de définir une région de conditions initiales perturbées Vδ telle que les mouvements correspondantes ne sortiront jamais de Vǫ . pour tous les t Cours de modélisation et simulation – p. 48/69 Stabilité asymptotique Une notion plus forte de la notion de stabilité est celle de stabilité asymptotique qui pose des conditions sur le comportement asymptotique du mouvement perturbé. Définition. Un état d’ équilibre x̄ est asymptotiquement stable si pour chaque ǫ > 0 il existe un δ > 0 tel que pour tous les x̂ qui satisfont kx̂ − x̄k ≤ δ nous obtenons kϕ(t, t̄, x̂, ū(·)) − x̄k ≤ ǫ ∀t ≥ t̄ et lim kϕ(t, t̄, x̂, ū(·)) − x̄k = 0 t→∞ La stabilité asymptotique est donc un type de stabilité accrue qui requiert aussi la convergence pour t → ∞ de chaque mouvement perturbé au mouvement nominal. Cours de modélisation et simulation – p. 49/69 Stabilité de l’état d’équilibre asympt. stable x x δ stable ε instable Cours de modélisation et simulation – p. 50/69 Exemple Considérons le système dynamique à temps continu x(t) ẋ = ax 1 − 2 avec a > 0. Le système a deux états d’équilibre: x̄(1) = 0, x̄(2) = 2. • L’état x̄(1) est instable puisque chaque condition initiale x(0) > x̄(1) , même si petite, diverge vers x = 2 pour t → ∞. • L’état x̄(2) est asymptotiquement stable puisque chaque perturbation de l’état x(0) = x̄(2) est réduite pour t → ∞. Cours de modélisation et simulation – p. 51/69 Exemple 2 1.8 1.6 1.4 x 1.2 1 0.8 0.6 0.4 0.2 0 0 2 4 6 8 10 6 8 10 t 2.02 2.015 2.01 2.005 x 2 1.995 1.99 1.985 1.98 1.975 0 2 4 Cours de modélisation et simulation – p. 52/69 Analyse de stabilité • Dans un système asymptotiquent stable, des petites variations de la valeur initiale deviennent de plus en plus petites au fur et à mesure que le temps avance: en quelque sorte le système perd la mémoire de l’état initial. Dans le cas instable le système évolue en amplifiant les perturbations de l’état initial: ceci revient à garder mémoire de l’état initial. • Les propriétés de stabilité et stabilité asymptotique dépendent du mouvement donc de la solution d’un système dynamique. • Or, puisque la solution d’un système continu générique est difficile à déterminer d’une manière analytique les propriétés de stabilité sont difficiles à prouver. • Ils existent quelques critères, comme les critères de Liapounov, qui permettent d’analyser le problème de la stabilité sans résoudre les équations différentielles qui décrivent le système. Cours de modélisation et simulation – p. 53/69 Fonction (semi)définie positive Afin de formuler le critères de stabilité de Liapounov, nous devons d’abord introduire les définitions de fonctions définies et semi-définies positives. Définition. Une fonction V (·) est dite définie positive en x̄ si il existe un voisinage circulaire de x̄ où V (x̄) = 0 et V (x) > 0 pour x 6= x̄ Définition. Une fonction V (·) est dite semidefinie positive en x̄ si il existe un voisinage circulaire de x̄ où V (x̄) = 0 et V (x) ≥ 0 pour x 6= x̄ Une classe importante de fonctions V est la classe des fonctions quadratiques n n X X aij xi xj V (x) = xT Ax = i=1 j=1 où la matrice A est symétrique. Cours de modélisation et simulation – p. 54/69 Matrice (semi)définie positive Définition. Une matrice A carrée et symétrique est définie (semidéfinie) positive si et seulement si la fonction V (x) = xT Ax est définie (semidéfinie) positive. Théorème (Test de Sylvester). Condition nécessaire et suffisante pour qu’une matrice a11 a12 A= . .. a1n ··· a1n a22 ··· .. . .. a2n · a2n .. . ann a12 . carrée et symétrique d’ordre n soit définie positive est que tous les mineurs principaux soient positifs. Cours de modélisation et simulation – p. 55/69 Matrice (semi)définie positive (II) Notons que par mineurs principaux de A nous entendons les quantités: h i D1 = det a11 # " a11 a12 D2 = det a12 a22 a11 a12 · · · a12 a22 · · · Dj = det . .. .. .. . . a1j a2j · a1j a2j , .. . ajj j≤n Condition nécessaire pour que A soit définie positive est que det A > 0, c.-à-d. que la matrice soit non singulière. Cours de modélisation et simulation – p. 56/69 Critères de Liapounov Considérons le système à temps continu ẋ(t) = f (x(t), u(t)) où le vecteur f (·, ·) est continu ainsi que ses dérivées partielles. Aussi, soit x̄ l’ état d’équilibre qui corresponde à l’entrée constante ū, c.-à-d. f (x̄, ū) = 0. Le premier critère de Liapounov est donc: Théorème (Critère de stabilité de Liapounov). S’il existe une fonction V (·), continue ainsi que ses dérivées partielles, qui soit définie positive en x̄ et telle que la fonction dV (x) V̇ (x) = = ∇V (x)f (x, ū) dt où ∂V ∂V ∂V ∇V (x) = , ,..., ∂x1 ∂x2 ∂xn soit semi-définie négative en x̄ alors x̄ est un état d’équilibre stable. Cours de modélisation et simulation – p. 57/69 Critères de Liapounov Théorème (Critère de stabilité asymptotique de Liapounov). S’il existe une fonction V (·), continue ainsi que ses dérivées partielles, qui soit définie positive en x̄ et telle que la fonction V̇ (x) = dV (x) = ∇V (x)f (x, ū) dt soit définie négative en x̄ alors x̄ est un état d’équilibre asymptotiquement stable. • Une fonction V définie positive telle que V̇ (·) soit définie négative est appelée une fonction de Liapounov. • Notons que les deux critères énoncent seulement des conditions suffisantes mais pas nécessaires. Ceci signifie que l’impossibilité de déterminer une fonction de Liapounov ne nous autorise pas à en déduire l’instabilité de l’état d’équilibre x̄. • Il est possible d’interpréter la fonction de Liapounov comme une expression d’une notion d’énergie associée à un système dynamique. • Pour un système stable à grande dimensionnalité il peut être très difficile de trouver une fonction de Liapounov. Cours de modélisation et simulation – p. 58/69 Rappel Soit V une fonction composée V (x1 (t), . . . , xn (t)) où alors ẋ 1 .. . ẋn = f1 (x1 , . . . , xn ) = fn (x1 , . . . , xn ) ∂V dx1 ∂V dxn ∂V ∂V dV = +· · ·+ = f1 (x1 , . . . , xn )+· · ·+ fn (x1 , . . . , xn ) = dt ∂x1 dt ∂xn dt ∂x1 ∂xn = ∇V (x(t))f (x(t)) Cours de modélisation et simulation – p. 59/69 Exemple Considérons le système décrit par ( ẋ1 = f1 (x1 , x2 ) = x2 ẋ2 = f2 (x1 , x2 ) = −ax1 − bx2 + u Pour ū = 0, le système a l’état d’équilibre x̄ = [0, 0]. Définissons la fonction V (x1 , x2 ) = 1 (kx21 + x22 ), 2 k>0 qui est définie positive en [0, 0]. Sa dérivée est ∂V ∂V V̇ = f1 + f2 = kx1 x2 − ax1 x2 − bx22 ∂x1 ∂x2 Si k = a > 0 alors V̇ = −bx22 . Si b > 0, il existe donc une fonction V définie positive dont la dérivée est définie négative. L’état d’équilibre [0, 0] est donc asymptotiquement stable. Cours de modélisation et simulation – p. 60/69 Exemple Voici le portrait des phases du système (a = b = 1) Portrait des phases 2 1.5 1 0.5 0 −0.5 −1 −1.5 −2 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 Cours de modélisation et simulation – p. 61/69 Exemple Voici la fonction V (x1 , x2 ) et l’évolution de la valeur V (x1 (t), x2 (t)) le long de deux solutions du système (x0 = [1.9, 1.9] et x0 = [.9, .9]) Fonction de Liapounov 4 3.5 3 2.5 2 1.5 1 2 0.5 1 0 0 −2 −1.5 −1 −1 −0.5 0 0.5 Cours de modélisation et simulation – p. 62/69 Critères d’instabilité de Liapounov Théorème (Critère d’instabilité de Liapounov). Soit V (·) une fonction continue ainsi que ses dérivées partielles dans un voisinage de x̄. Soit V (x̄) = 0 et positive dans des points arbitrairement proches à x̄. Si la fonction V̇ (·) = ∇V (x)f est définie positive en x̄, alors l’état d’équilibre x̄ est instable. Cours de modélisation et simulation – p. 63/69 Exemple Si b = −1 < 0 dans l’exemple précédent voici le portrait des phases du système Portrait des phases 2 1.5 1 0.5 0 −0.5 −1 −1.5 −2 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 Cours de modélisation et simulation – p. 64/69 Exemple Voici la fonction V (x1 , x2 ) et l’évolution de la valeur V (x1 (t), x2 (t)) le long de deux solutions du système (x0 = [0.01, 0.01] et x0 = [0.01, −0.01]) Fonction de Liapounov 4 3.5 3 2.5 2 1.5 1 0.5 2 1 0 0 −2.5 −2 −1.5 −1 −1 −0.5 0 0.5 1 1.5 2 −2 Cours de modélisation et simulation – p. 65/69 Système pendule Considérons le système régi par mlθ̈ = −mg sin θ − klθ̇ où de manière équivalente par ( ẋ1 = f1 (x1 , x2 ) = x2 ẋ2 = f2 (x1 , x2 ) = − gl sin x1 − k m x2 où θ = x1 , θ̇ = x2 . Nous pouvons definir la fonction 1 2 2 V (x1 , x2 ) = mgl(1 − cos x1 ) + ml x2 2 qui équivaut à l’énergie mécanique du système, c.-à-d. la somme de l’énergie potentielle et de l’énergie cinétique. Cette fonction est une fonction continue autant que ses derivées partielles. Aussi elle est definie positive puisque elle est positive partout mis à part x1 = 0, x2 = 0. Cours de modélisation et simulation – p. 66/69 Notons aussi que ∂V ∂V V̇ = f1 + f2 = mgl sin x1 f1 + ml2 x2 f2 = ∂x1 ∂x2 k g 2 sin(x1 ) + x2 = −kl2 x22 ≤ 0 = mgl sin(x1 )x2 − ml x2 l m Il s’ensuit que si k > 0 x = [0, 0] est un équilibre asymptotiquement stable. Si k = 0, l’équilibre est simplement stable. Cours de modélisation et simulation – p. 67/69 Systèmes autonomes • L’étude des systèmes dans la forme ẋ(t) = f (x(t), t) est donc essentiel afin d’étudier les propriétés de n’importe quel système dynamique. • Selon les arguments de la fonction f nous pouvons faire la distinction entre deux cas: Systèmes autonomes: où la variable t n’apparaît pas explicitement dans f . Par exemple ẋ = ax Systèmes non autonomes: où la variable t apparaît explicitement dans f . Par exemple ( x˙1 = x1 x˙2 = −cx2 − sin x1 + ρ sin t Cours de modélisation et simulation – p. 68/69 Systèmes autonomes (II) • Notons que la dynamique d’un système autonome est beaucoup plus simple. Si le système passe à travers une certaine configuration l’évolution qui va suivre sera toujours la même. La connaissance de la configuration à un instant t permet de définir de manière univoque l’évolution du système • Toutefois la distinction est en quelque sens artificielle, puisque chaque système non autonome peut être mis sous forme autonome à condition d’ajouter une nouvelle variable xt = t. Le système précédent devient donc x˙1 = x1 x˙2 = −cx2 − sin x1 + ρ sin xt x˙ = 1 t • En traitant le cas autonome, nous pouvons donc avoir un aperçu complet des systèmes dynamiques. Cours de modélisation et simulation – p. 69/69