INFO-F-5 Modélisaion e Simulaion TP : Inroducion à SIMULINK e cas d éude Inroducion Simulink es une exension graphique de Malab permean de représener des ssèmes sous forme de diagrammes en blocs, e de simuler le foncionnemen de ces ssèmes. Ces blocs se combinen enre eux pour former des ssèmes complexes, auxquels on pourra soumere divers signaux d enrée, e don on pourra visualiser la sorie. Les briques de base Simulink se lance en apan simplemen simulink sur le erminal de Malab. Un nouveau modèle se crée avec File -> New -> Model, qui affiche une fenêre blanche, sur laquelle on pourra déposer les différens blocs (par drag and drop) e les lier enre eux à l aide de la souris. Les blocs son groupés dans différens groupes : Sources : perme de spécifier des sources d inpu à un ssèmes (sinusoïde, consane, rampe, séquence répéée...). Sinks : perme de spécifier des oupus. Nous uiliserons principalemen To Workspace, qui perme d envoer le résula au workspace de Malab, e Scope qui perme d afficher le résula direcemen dans un graphique. Divers : le bloc Fcn (Groupe User-Defined Funcions) perme de décrire soi-même une foncion, le bloc Sae-Space (Groupe Coninuous) un ssème simple d équaions différenielles. Le bloc DEE ( Differenial equaion edior ) perme d uiliser des équaions différenielles arbiraires. Pour pouvoir l uiliser, aper dee sur le erminal Malab. Un premier exercice Créer un modèle simple avec une enrée u() sinusoïdale, e une sorie () elle que { ẋ() = u() () = x()
Uiliser les blocs Sine-wave e Sae-space à ce effe. Visualiser l enrée e la sorie à l aide de deux blocs Scope. Paramérer le emps de la simulaion : Simulaion -> Configuraion, ex : de à. Lancer la simulaion : Simulaion -> Pla, e visualiser le résula dans les scopes. Recommencer avec une aure source, par exemple Pulse Generaor. 4 Références Tuoriels Malab e Simulink de Mahworks (en anglais) : hp://www.mahworks.nl/academia/suden_cener/uorials/ Aide-mémoire des commandes Malab (en anglais) : hp://www.ulb.ac.be/di/map/gbone/calcul/quikref.ps Un uoriel plus comple pour Malab (en anglais) : hp://www.ulb.ac.be/di/map/gbone/calcul/malabinro.pdf Un uoriel de Malab e Simulink en français : hp://www.gel.ulaval.ca/%7elehu/inromalab/ Une page de liens vers des uoriels Malab/Simulink : hp://www.sie.uoawa.ca/%7emagoub/eeginromalab.hml Page de liens de Mahworks : hp://www.mahworks.com/compan/evens/archived_webinars.hml Le manuel officiel de Simulink (en anglais) : hp://www.ulb.ac.be/di/map/gbone/modsim/simulink_manual.pdf 5 Inroducion aux cas d éude Les scrips référencés dans les cas d éude son disponibles sur la page web : www.ulb.ac.be/di/map/gbone/modsim/caseud/. Après les avoir enregisrés dans vore dossier couran de malab (apez pwd dans le erminal Malab pour idenifier vore dossier couran), ils peuven êre lancés direcemen en apan leur nom sur le erminal Malab. Ces fichiers fon appel à des fichiers.mdl conenan les modèles, e que vous pouvez visualiser en les ouvran direcemen à parir de Simulink. Pour chaque scrip, veillez à bien comprendre à la fois le scrip e le modèle.
6 Le forma des cas d éude Fiche. Descripion: exe. Applicaions praiques: exe. Hpohèses, assompions e connaissance au préalable 4. Srucure (a) Dimensionnalié: nombre n de variables d éa, nombre m de variables d enrée, nombre p de variables de sorie (b) Conraines sur la foncion d enrée u() (si m > ) (c) Temps: discre ou coninu (d) Espace d éa: discre ou coninu (e) Paramères: nom (f) Formalisme: EDO, équaions aux différences, EDP, auomae... (g) Équaions. 5. Simulaions (plusieurs simulaions peuven êre envisagées) (a) Simulaion i. Condiions iniiales: noons que x() dénoe la valeur iniiale du veceur x. ii. Valeurs des paramères iii. Inervalle de emps de simulaion [, f ]. iv. Foncion(s) d enrée. v. Résoluion numérique: algorihme d inégraion numérique, généraeur de nombre aléaoires,... vi. Implémenaion: langage d implémenaion e nom fichier. vii. Visualisaion: diagrammes emporelles (enrées, éas, sories), porrai de phases (éa si n > ). (b) Simulaion (c) Simulaion (d) Simulaion... 6. Analse quaniaive e qualiaive du comporemen: exe supporé par des visualisaions 7. Suggesions pour un éude ulérieur: exe
7 Cas d éude : inégraeur simple 7. Le cas d éude. Descripion: le modèle décri l évoluion d une quanié en foncion d une enrée.. Applicaions praiques: le modèle peu décrire l évoluion de la quanié de marchandise d un enrepô sur la base du débi en enrée, le changemen de concenraion d un milieu, le changemen de la aille d une populaion suie à un phénomène d émigraion ou d immigraion (qui ne prend pas en considéraion la aille de la populaion), ou l évoluion du niveau d un réservoir d eau.. Hpohèses, assompions e connaissance au préalable: aucun feedback de l éa sur le aux de changemen es présen. Le changemen d éa es complèemen déerminée par le flux en enrée. Le aux de changemen peu êre aussi posiif que négaif. L éa es observable. 4. Srucure: (a) Dimensionnalié: n = éa, m = enrée, p = sorie (b) Conraines sur la foncion d enrée u() (si m > ): foncion à valeurs finies (c) Temps: coninu (d) Espace d éa: coninu (e) Formalisme: EDO (f) Équaions: { ẋ() = cu(), (g) Paramères: c R 5. Simulaions (a) Simulaion () = x() i. Condiions iniiales: x() = ii. Valeurs paramères: c = iii. Temps de simulaion: [, ] iv. Foncion(s) d enrée: u() = sin() v. Résoluion numérique: defaul MATLAB vi. Implémenaion: scrip MATLAB cas.m (e mod.mdl) 4
x u x vii. Visualisaion viii. Analser la relaion enre le signe de u() e la dérivée de x() Cas d éude : simulaion.8.8.8.6.6.6.4.4.4.....8.8.4.6.6.6.4.4.8.. 4 6 8 4 6 8 4 6 8 (b) Simulaion i. Condiions iniiales: x() = ii. Valeurs paramères: c =. iii. Temps de simulaion: [, ] iv. Foncion(s) d enrée: u() = v. Résoluion numérique: algorihme d inégraion numérique vi. Résoluion numérique: defaul MATLAB vii. Implémenaion: scrip MATLAB cas.m (e mod.mdl) viii. Visualisaion 6 Cas d éude : simulaion 6 9 8 5 5 7 4 4 6 u 5 4 5 5 5 (c) Simulaion i. Condiions iniiales: x() = ii. Valeurs paramères: c =. iii. Temps de simulaion: [, 5] iv. Foncion(s) d enrée: Linéaire par morceaux v. Résoluion numérique: defaul MATLAB vi. Implémenaion: scrip MATLAB cas.m (e mod.mdl) 5
vii. Visualisaion x.5 Cas d éude : simulaion.5.5...5.5.5.. u.5.5.5...5.5.5 4 5.5 4 5.5 4 5 6. Analse quaniaive e qualiaive du comporemen: l évoluion de l éa x() peu êre obenue de manière analique en calculan l inegral de la foncion u(), c.-à-d. x() = x() + cu()d () Les effes dus aux flucuaions de l enrée son lissés par l éa (voir Simulaion ). 7. Suggesions pour une éude ulérieur: (a) Teser le cas c < (b) Valider la formule pour une foncion u() que vous êes capables d inégrer à la main (linéaire, quadraique,...). (c) Imaginer un ssème réel qui puisse êre représené par cee dnamique. Le cas d éude précéden (l inégraeur simple) consisai en un ssème for simple, où le aux de changemen de l éa ne dépendai que de l enrée u( ). En règle générale, les ssèmes son plus complexes, e inroduisen du feedback dans le aux de changemen de l éa, ç.-à-d. que le aux de changemen dépend de l éa lui-même. Les cas d éude suivan illusren ce concep. Le premier illusre un ssème sans enrée, où le aux de changemen de l éa ne dépend que de l éa lui-même, le deuxième un ssème où le aux dépend à la fois d une enrée e de l éa du ssème, e le roisième un ssème sans enrée mais plus complexe, avec des phénomènes non-linéaires de seuil. 6
8 Cas : croissance e décroissance exponenielle. Descripion: dans ce ssème la valeur de l éa déermine le aux de changemen de l éa-même (feedback). Ceci amène à la formaion d une dnamique exponenielle indépendemmen de la présence d une enrée (faceur exerne ou exogène).. Applicaions praiques: un exemple pique es l évoluion d une populaion (par exemple des lapins) en absence de prédaeurs: si la populaion augmene à un aux de % cela signifie que le nombre de lapins addiionnels à la fin du mois peu êre calculé sur la base du nombre acuel. Noons que le aux de % peu êre obenu comme la différence enre le aux de naissance e le aux de décès de la populaion. D aures ssèmes peuven êre modélisés de la même façon: l évoluion de l inérê dans un compe en banque, la croissance économique, la désinégraion radioacive (deca).. Hpohèses, assompions e connaissance au préalable: le changemen d éa es complèemen déerminé par l éa-même. aucune enrée exogène. 4. Srucure (a) Dimensionnalié: n = variables d éa, m = variables d enrée, p = variable de sorie (b) Conraines sur la foncion d enrée u(); néan (c) Temps: coninu (d) Espace d éa: coninu (e) Paramères: c: le signe de ce paramère déermine le signe du feedback e par conséquen la sabilié (c < ) ou l insabilié de la dnamique (c > ). La valeur absolue c déermine la viesse de la croissance ou de la décroissance exponenielle. (f) Formalisme: EDO (g) Équaions: { ẋ() = cx() () = x() () 5. Simulaions (a) Simulaion i. Condiions iniiales: x() = ii. Valeurs paramères: c =. iii. Inervalle de emps de simulaion [,]. iv. Foncion(s) d enrée: néan 7
x x v. Visualisaion:.8.6.4. Cas d éude : simulaion.8.6.4..8.6.4..8.6.4. 4 6 8 4 6 8 vi. Résoluion numérique: defaul MATLAB. vii. Implémenaion: scrip MATLAB cas.m (e mod.mdl). (b) Simulaion i. Condiions iniiales: x() = ii. Valeurs paramères: c =. iii. Inervalle de emps de simulaion [,]. iv. Foncion(s) d enrée: néan. v. Visualisaion: Cas d éude : simulaion.8.8.6.6.4.4...8.8 4 6 8 4 6 8 vi. Résoluion numérique: defaul MATLAB. vii. Implémenaion: scrip MATLAB cas.m (e mod.mdl). (c) Simulaion i. Condiions iniiales: x() = ii. Valeurs paramères: c = iii. Inervalle de emps de simulaion [,]. iv. Foncion(s) d enrée: néan. v. Visualisaion: 8
x.9.8.7.6.5.4... Cas d éude : simulaion.9.8.7.6.5.4... 4 6 8 4 6 8 vi. Résoluion numérique: defaul MATLAB. vii. Implémenaion: scrip MATLAB cas.m (e mod.mdl). 6. Analse quaniaive e qualiaive du comporemen: La soluion analique a la forme x() = x()e c τ = /c es appelée la consane de emps du ssème. Si c >, le emps requis par le ssème pour doubler la valeur de l éa es égale à ln /c. Si c < le emps requis par le ssème pour couper en deux la valeur de l éa es égale à ln /c. 7. Suggesions pour une éude ulérieure : Imaginer un ssème réel qui puisse êre représené par cee dnamique. 9
9 Cas : ssème avec reard d ordre. Descripion: l évoluion de l éa dépend de la combinaison d une décroissance exponenielle e d une enrée. Ceci amène à un oubli progressif de l hisoire du ssème e à une adapaion avec reard au signal exogène.. Applicaions praiques: modéliser la dnamique d un réservoir caracérisé par un débi d enrée e un débi de sorie lié au niveau de l eau. modéliser un ssème mécanique soumis à une force e à une fricion qui dépende de la viesse du ssème. x. Hpohèses, assompions e connaissance au préalable 4. Srucure (a) Dimensionnalié: n = éa, m = enrée, p = sorie (b) Conraines sur la foncion d enrée u() : finie (c) Temps: coninu (d) Espace d éa: coninu (e) Paramères: c > consane de décroissance exponenielle (f) Formalisme: EDO (g) Équaions: { ẋ() = u() cx() 5. Simulaions (a) Simulaion () = x() i. Condiions iniiales: x() = ii. Valeurs paramères: c = iii. Inervalle de emps de simulaion [,]. iv. Foncion(s) d enrée: u() = pour >. v. Visualisaion: Cas d éude : simulaion.8.95.95.6.9.9.4.85.85..8.8 u.75.75.8.7.7.6.65.65.4.6.6..55.55 5.5 5.5 5
Une fois définie la consane de emps τ = /c il es possible de vérifier que. x() = x()exp /τ +τ( exp /τ ) vi. Résoluion numérique: defaul MATLAB. vii. Implémenaion: scrip MATLAB cas.m (e mod.mdl). (b) Simulaion Cee simulaion a éé supprimée. (c) Simulaion i. Condiions iniiales: x() = ii. Valeurs paramères c =. iii. Inervalle de emps de simulaion [,5]. iv. Foncion(s) d enrée: u() = G, où G =.. v. Visualisaion: 5 5 Cas d éude : simulaion 5 4.5 4.5 5 5 u.5.5.5 5 5 4 5 4 5 4 5 Il es possible de vérifier que. x() = x()exp /τ +Gτ[ τ( exp /τ )] vi. Résoluion numérique: defaul MATLAB. vii. Implémenaion: scrip MATLAB cas.m (e mod.mdl). 6. Analse quaniaive e qualiaive du comporemen: La dnamique es déerminée par deux aux de changemen différens : une exponenielle négaive à aux consan c e un aux u() dépendan du emps mais indépendan de l éa du ssème. Pour un u() consan, le paramère c déermine l éa d équilibre x = u/c.
la valeur τ = /c es la consane du emps du ssème. Le ssème s adape d auan plus vie au aux de changemen exogène que la valeur c es grande. Donc plus la valeur de c es grande, plus le reard du ssème es pei. Pour voir ceci comparer la simulaion e la. Analse pour u() = G consan. Nous obenons une soluion générale à l équaion non-homogène ẋ = u cx en prenan la somme d une soluion générale de l équaion homogène associée ẋ = cx e une soluion pariculière de l équaion non-homogène (voi TP sur les équaions différenielles). Nous savons qu une soluion de l équaion homogène es donnée par Ae c (voir TP ). Dans quel cas pouvons nous avoir une soluion pariculière de la forme x() = k (avec k consane) pour l équaion ẋ = u cx? Simplemen quand = u ck donc quand k = u/c. Une soluion pariculière es donc x = u/c. La soluion générale de l équaion non-homogène es donc x() = Ae c + u c Nous voulons à présen faire apparaîre x(). Cela donne x() = A + u c e donc A = x() u/c. En remplaçan A par x() u/c dans la soluion générale, on obien x() = x()e c + u c ( e c ) e donc (en reformulan par rappor à G e τ) x() = x()e /τ + Gτ( e /τ ) Le premier erme éan une exponenielle négaive, on converge vers un comporemen dépendan uniquemen de u e de c, d où le phénomène de reard. La foncion vers laquelle on end correspond donc à l enrée u, avec un faceur d amplificaion /c. Analse pour u() =. A nouveau, nous obenons une soluion générale à l équaion non-homogène ẋ = u cx en prenan la somme d une soluion générale de l équaion homogène associée ẋ = cx e une soluion pariculière de l équaion non-homogène (voi TP sur les équaions différenielles). Nous savons qu une soluion de l équaion homogène es donnée par Ae c (voir TP ). Dans quel cas pouvons nous avoir une soluion pariculière de la forme x() = Q + R (avec Q,R consans) pour l équaion ẋ = u cx? En inséran x() = Q+R dans l équaion nous obenons R = c(q + R) e
donc R + cq + cr = R + cq + (cr ) = Une soluion pariculière peu êre obenue à parir de l équaion ci-dessus en imposan { cr = e R + cq = ce qui donne { R = c Q = R c = c Nore soluion pariculière es donc x() = c + /c. La soluion générale de l équaion non-homogène es donc e x() = Ae c c + /c Nous voulons à présen faire apparaîre x(). Cela donne x() = A + c e donc A = x() + c. En remplaçan A par x() + c dans la soluion générale, on obien x() = (x() + c )e c c + /c = x()e c + c ( + c e c c ) = x()e c + c ( + c (e c )) e donc (en reformulan par rappor à τ) x() = x()e /τ + τ( τ( e /τ )) A nouveau, le premier erme éan une exponenielle négaive, on converge vers un comporemen dépendan uniquemen de u e de c, d où le phénomène de reard. 7. Suggesions pour une éude ulérieure: éudier la réponse du ssème pour des lois d enrée différenes e pour d aures valeurs de c. imaginer un ssème réel qui puisse êre représené par cee dnamique..
Cas 4: croissance logisique. Descripion: le modèle (), pour c > es une représenaion simplise d une populaion croissane. En réalié, dans les processus phsiques, aucune croissance ne peu coninuer à l infini. Cerains processus s arrêen quand le seuil supérieur es aein, dans d aures la croissance es ralenie en foncion du niveau. Ce deuxième exemple de croissance es dénommé la croissance logisique. Le ssème es non linéaire.. Applicaions praiques: dnamique des populaions, ssèmes près de la sauraion. La validié du modèle logisique a éé esée dans plusieurs expériences en laboraoire où des colonies de bacéries, levure ou d aure organismes simples on éé culivées dans des condiions de clima consan, présence de nourriure e absence de prédaeurs. Les résulas expérimenaux on monré une rès bonne correspondance enre le modèle mahémaique e la réalié expérimenale. Par conre la validaion à éé moins convaincane dans le cas de populaions d organismes plus complexes.. Hpohèses, assompions e connaissance au préalable: le modèle logisique s appuie sur deux hpohèses: (a) si la populaion es peie, le aux de croissance es presque direcemen proporionnel à la aille de la populaion. (b) si la populaion es rop grande, le aux de croissance devien négaif. 4. Srucure (a) Dimensionnalié: n = éa, m =, p = sorie (b) Conraines sur la foncion d enrée u(): néan (c) Temps: coninu (d) Espace d éa: coninu (e) Paramères: seuil k > e consan exponenielle c >. Le paramère c représene le aux de croissance quand la aille x es peie. La paramère k représene une sore de aille idéale ou de capacié du ssème. (f) Formalisme: EDO (g) Équaions: { ẋ() = cx()( x() k ) () = x() () Noons que si x es pei l équaion revien à ẋ() = cx() e si x > k alors ẋ <. 4
x x 5. Simulaions (a) Simulaion i. Condiions iniiales: x() =. ii. Valeurs paramères: k =.5, c =. iii. Inervalle de emps de simulaion [,5]. iv. Foncion(s) d enrée: néan v. Résoluion numérique: defaul MATLAB vi. Implémenaion: scrip MATLAB cas4.m (e mod4.mdl). vii. Visualisaion:.6 Cas d éude 4: simulaion.6.4.4...8.8.6.6.4.4. 4 5. 4 5 (b) Simulaion i. Condiions iniiales: x() = ii. Valeurs paramères: k =.5, c =. iii. Inervalle de emps de simulaion [,5]. iv. Foncion(s) d enrée: néan v. Résoluion numérique: defaul MATLAB vi. Implémenaion: scrip MATLAB cas4.m (e mod4.mdl). vii. Visualisaion: Cas d éude 4: simulaion.5.5.5.5.5.5 4 5 4 5 6. Analse quaniaive e qualiaive du comporemen: 5
Si x() > la soluion analique es connue e a la forme k be c + où b > es déerminé selon la condiion iniiale. évoluion emporelle de l éa a une forme en S. le aux de croissance diminue au fur e à mesure que l éa se rapproche de la valeur limie k. pour x() = k e x() = nous avons des soluions d équilibre si nous raçons le graphique de la foncion cx()( x() k ) en foncion de x nous observons que la dérivée es posiive pour < x < k e négaive pour x <, x > k..8.6.4 f(x)...4...4.6.8..4.6 x Ceci signifie que la soluion end à s éloigner de x = (noeud insable) e à converger sur x = k (noeud sable). 7. Suggesions pour un éude ulérieure: une variaion inéressane du modèle (4) es obenue en ajouan un erme négaif qui dépend de l éa { ẋ() = cx()( x() k ) gx() (4) () = x() Cee équaion peu êre uilisée pour modéliser la croissance de la densié d une populaion (par exemple de poissons) où le aux de capure dépend de la densié même ou l évoluion des impôs en foncion de l acivié producive. imaginer un ssème réel qui puisse êre représené par cee dnamique. 6