Matlab Pred 2 Simulink
Transcript of Matlab Pred 2 Simulink
![Page 1: Matlab Pred 2 Simulink](https://reader035.fdocument.pub/reader035/viewer/2022072922/557210d3497959fc0b8dbb84/html5/thumbnails/1.jpg)
1
Uvod u Simulink
2
UvodSimulink je grafički alat unutar MATLAB programskog sustava koji omogućuje modeliranje, simulaciju i analizu dinamičkih sustava
DINAMIČKI SUSTAV – sustav čije stanje u nekomtrenutku određeno ne samo pobudom već i stanjima u kojima je sustav bio u prethodnim trenucimu.
Podjela dinamičkih sustava:
Kontinuirani dinamički sustavDiskretni dinamički sustavHibridni sustav – kombinacija dva prethodna tipa
![Page 2: Matlab Pred 2 Simulink](https://reader035.fdocument.pub/reader035/viewer/2022072922/557210d3497959fc0b8dbb84/html5/thumbnails/2.jpg)
3
Opis dinamičkih sustavaPolazište-skup (općenito nelinearnih) diferencijalnih jednadžbi
ili jednadžbi diferencija
'( ) ( ( ), ( ))( ) ( ( ), ( ))
x t f x t u ty t g x t u t
==
( 1) ( ( ), ( ))( ) ( ( ), ( ))
x k f x k u ky k g x k u k
+ ==
4
Simulacija kontinuiranih sustavaKako simulirati kontinuirani sustav na digitalnom računalu?Simulink koristi postupke numeričke integracije za numeričko rješavanjediferencijalne jednadžbeUnutar Matlaba implementirano više metoda numeričkeintegracije (solvera). Solveri unutar Matlaba se mogupodijeliti u dvije skupine:
solveri s konstantnim korakom integracije korak integracije konstantan tijekom cijele simulacije. Ukoliko je korak integracije manji to je simulacija točnija ali isto tako duže traje.
solveri s promjenjivim korakom integracije korak integracije se mijenja ovisno o trenutnom stanju sustava. Ukoliko se stanja sustava brzo mijenjaju tada se korak integracije smanjuje i obrnuto.
![Page 3: Matlab Pred 2 Simulink](https://reader035.fdocument.pub/reader035/viewer/2022072922/557210d3497959fc0b8dbb84/html5/thumbnails/3.jpg)
5
Simulink-osnovne akcijePokretanje simulinka:
Naredbom >>simulink u komandnom prozoruKlikom na ikonu u Matlabu
Stvaranje novog modela:File ->New (iz simulinka)
Otvaranje postojećeg simulink modela:File ->Open (iz simulinka)>>ime_dat.mdl (iz Matlab komandnog prozora)
Spremanje simulink modelaFile ->save (iz simulinka)
6
Simulacija din. sustava u Simulinku
1. Dodavanje blokova iz Simulink biblioteke blokova (Drag’n’Drop princip)
2. Povezivanje blokova pomoću linija koje predstavljaju signale
3. Podešavanje parametara simulacije kao što su npr. trajanje simulacije, tip numeričke integracije, točnost simulacije i sl.
4. Pokretanje simulacije
![Page 4: Matlab Pred 2 Simulink](https://reader035.fdocument.pub/reader035/viewer/2022072922/557210d3497959fc0b8dbb84/html5/thumbnails/4.jpg)
7
Simulink biblioteka blokovaStandardni simulink blokovi svrstani po skupinama
Dodatni simulink blokovi ovisno o instaliranim toolboxima
8
Simulink - osnovni blokovi
Constant – definiranje konstantnog signalaGain – množenje signala s konstantomSum – zbrajanje (oduzimanje) više signalaScope – grafički prikaz signala u vremenu (osciloskop)Integrator – integriranje ulaznog signalaTo Workspace –spremanje signala u varijablu radnog prostoraClock – signal vremena
Sum
simout
To WorkspaceScope
1s
Integrator
1
Gain
1
Constant Clock
![Page 5: Matlab Pred 2 Simulink](https://reader035.fdocument.pub/reader035/viewer/2022072922/557210d3497959fc0b8dbb84/html5/thumbnails/5.jpg)
9
Podešavanje parametara simulacije
Podešavanje trajanja simulacije
Odabir vrste numeričke integracije (fiksni korak, promjenjivi korak)
Odabir postupka numeričke integracije
Podešavanje dodatnih parametara postupka numeričke integracije
Omogućuje definiranje u kojim će se trenucima računati stanja sustava
10
Praćenje i spremanje varijabli tijekom simulacijeBlokovi iz simulink biblioteke blokova, grupa “Sinks”.
Praćenje:Scope, Floating scope – osciloskopDisplay – praćenje numeričke vrijednosti signala
Spremanje:To workspace, To file – spremanje podataka u radni prostor Matlaba odnosno u datoteku.
![Page 6: Matlab Pred 2 Simulink](https://reader035.fdocument.pub/reader035/viewer/2022072922/557210d3497959fc0b8dbb84/html5/thumbnails/6.jpg)
11
Primjer: simulacija dinamičkog sustavaSimulacija sustava opisanog sljedećom dif. jednadžbom:
na skokovitu pobudu (step signal)''( ) 5 '( ) 6 ( ) ( )y t y t y t u t+ + =
''( ) ( ) 5 '( ) 6 ( )y t u t y t y t= − −
12
Primjer: simulacija dinamičkog sustava Simulacija prethodnog sustava uz početne uvjete:
Rješenje prikazano na prethodnom slideuomogućuje direktnu simulaciju uz unošenje početnih uvjeta za stanja pojedinih integratora
(0) 1, '(0) 1y y= = −
![Page 7: Matlab Pred 2 Simulink](https://reader035.fdocument.pub/reader035/viewer/2022072922/557210d3497959fc0b8dbb84/html5/thumbnails/7.jpg)
13
Stabilnost postupka numeričke integracijePrimjerAnalitičko rješenje dif. jednadžbeUvjet za stabilnost Eulerovog postupka num. integracije
'( ) 100 ( ) 0, (0) 10y t y t y+ = =100( ) 10 ty t e−=
1 100 1h− <
14
Simulacija stiff-sustavaStiff sustavi su oni sustavi koji sadržavaju više, po brzini, jako različitih dinamikaNajbrža dinamika uvodi ograničenja na maksimalni korak integracije s obzirom iz razloga stabilnosti samog postupka numeričke integracijeNajsporija dinamika određuje trajanje simulacijeMože rezultirati jako sporom simulacijom
![Page 8: Matlab Pred 2 Simulink](https://reader035.fdocument.pub/reader035/viewer/2022072922/557210d3497959fc0b8dbb84/html5/thumbnails/8.jpg)
15
Simulacija stiff-sustava-PrimjerVan der Polov oscilator
2''( ) 2 (1 ( )) '( ) ( ) 0y t y t y t y tμ− − + =
16
Algebarske petljepojavljuju se kod kod blokova koji imaju svojstvo direktnog proslijeđivanja ulaznog signala. Ukoliko se izlaz iz takvog bloka ponovo vraća kao ulaz u blok dolazi do pojave algebarske petlje.
Primjer
2( )y u y= −
13
y u=
![Page 9: Matlab Pred 2 Simulink](https://reader035.fdocument.pub/reader035/viewer/2022072922/557210d3497959fc0b8dbb84/html5/thumbnails/9.jpg)
17
Algebarske petljeOvisno o postavkama simulacije simulink pojavu algebarskih petlji:
1. Ignorira2. Upozorava porukom u komandnom prozoru3. Zaustavlja simulaciju
U prva dva slučaja poziva se u svakom koraku solver za rješavanje alg. petlji koji usporava izvođenje simulacije
18
Algebarske petljeRješavanje algebarskih petlji1. Modifikacija simulacijske shema na osnovi rješenja
alg. jednadžbe2. Dodavanje memorijskog elementa “Memory” koji
unosi kašnjenje u trajanju jednog integracijskog koraka. Metoda je primjenjiva samo kada je pojačanje petlje manje od 1
3. Na signalne linije može se dodati blok “IC” (početni uvjet) kako bi se osiguralo da solver krene iz “dobrih” početnih uvjeta. (Korisno u slučaju da algebarska petlja ima više od jednog rješenja).
![Page 10: Matlab Pred 2 Simulink](https://reader035.fdocument.pub/reader035/viewer/2022072922/557210d3497959fc0b8dbb84/html5/thumbnails/10.jpg)
19
Algebarske petlje - primjer
21 15 4
y u y⎛ ⎞= −⎜ ⎟⎝ ⎠
5 252
uy − ± +=
20
PodsustaviIdeja korištenja ovih blokova je da se simulacijska shema učini preglednijom
Stvaranje podsustava:1. Dodavanjem bloka “Subsystem” te ubacivanjem u njega potrebnih
blokova skupa ulaznim i izlaznim portovima2. Označavanjem dijela sheme od koje se želi stvoriti podsustav te
odabirom opcije “Edit->Create Subsystem”
![Page 11: Matlab Pred 2 Simulink](https://reader035.fdocument.pub/reader035/viewer/2022072922/557210d3497959fc0b8dbb84/html5/thumbnails/11.jpg)
21
Podsustavi-primjer
22
Podsustavi s uvjetnim izvršavanjemPodsustavi čije je izvršavanje uvjetovanje razinom kontrolnog signala (Enabled subsystem)Podsustavi čije je izvršavanje uvjetovanje bridom kontrolnog signalaPodsustavi čije je izvršavanje uvjetovanje bridom kontrolnog signala 1 i razinom kontrolnog signala 2
![Page 12: Matlab Pred 2 Simulink](https://reader035.fdocument.pub/reader035/viewer/2022072922/557210d3497959fc0b8dbb84/html5/thumbnails/12.jpg)
23
Podsustavi - maskiranjeOznačiti podsustav te odabrati opciju “Edit->Mask subsystem”
24
Upravljanje simulacijom iz komandnog prozora
Pokretanje simulacije:• [T,X,Y]=sim('model‘); - simulacija modela uz parametre
simulacije određene simulacijskim postavkama• [T,X,Y] = sim('model',TIMESPAN,OPTIONS,UT); –
dodatno se može definirati trajanje simulacije, vrijednosti pojedinih parametara simulacije;
![Page 13: Matlab Pred 2 Simulink](https://reader035.fdocument.pub/reader035/viewer/2022072922/557210d3497959fc0b8dbb84/html5/thumbnails/13.jpg)
25
Upravljanje simulacijom iz komandnog prozora
Postavljanje parametara pojedinih blokova:set_param('OBJ','PARAMETER‘,’VALUE’)
Čitanje parametara pojedinih blokova:get_param('OBJ','PARAMETER',’VALUE')
Dodavanje blokaDodavanje linije
26
PrimjerZa sustav:Potrebno je odrediti krivulju ovisnosti nadvišenja u
odzivu na step pobudu o vrijednosti parametra K u intervalu [1,10]
Što je potrebno napraviti:1. Mijenjati pojačanje K od 1 do 10 s određenim
korakom npr. 0.52. Za svaku vrijednost pojačanja K potrebno je
provesti simulaciju te iz odziva izračunati nadvišenje kao (ymax-yss)/yss*100%
''( ) 2 '( ) ( ) ( )y t y t K y t K u t+ + ⋅ = ⋅
![Page 14: Matlab Pred 2 Simulink](https://reader035.fdocument.pub/reader035/viewer/2022072922/557210d3497959fc0b8dbb84/html5/thumbnails/14.jpg)
27
PrimjerPrijedlog rješenja
t
To Workspace1
y
To WorkspaceStep
1
Pojacanje_y1
2
Pojacanje_y
1
Pojacanje
1s
Integrator1
1s
Integrator
Clock
Shema.mdl
28
PrimjerPrijedlog rješenja
i=0;for K=1:0.5:10i=i+1;
set_param(‘Shema/Pojacanje',‘Gain',mat2str(K));set_param(‘Shema/Pojacanje_y1',‘Gain',mat2str(K));sim('opt1',10);sigma(i)=(max(y)-y(end))/y(end);k(i)=K;
endplot(k,sigma);