Sunteți pe pagina 1din 101

0

Dr. ing. Dumitru Al. Dumitru






Manual Matlab 7
(R2007)
Volumul 2
(Mediul Simulink)








Universitatea Valahia din Trgovite
Facultatea de Ingineria Mediului i tiina Alimentelor

2013 Uz intern
1


CUPRINS
1 Lansarea aplicaiei Simulink.............................................................................................................2
1.1 Editorul de modele....................................................................................................................2
1.2 Bibliotecile aplicaiei Simulink.................................................................................................5
2 Crearea unui model ...........................................................................................................................6
2.1 Plasarea blocurilor.....................................................................................................................6
4.1 Prescrierea proprietilor i parametrilor blocurilor..................................................................7
4.2 Legende...................................................................................................................................12
4.3 Conectarea blocurilor. Semnale ..............................................................................................13
4.4 Blocurile Integrator, Gain i Sum, Add, Subtract, Sum of Elements .....................................15
3.1 Parametrii simulrii.................................................................................................................20
3.1.1 Scrierea strii i ieirilor porturilor n spaiul Matlab.....................................................22
3.1.2 Citirea strii iniiale i a intrrilor porturilor din spaiul Matlab.....................................24
2.1 Afiarea rezultatelor................................................................................................................27
2.1.1 Blocul Scope ...................................................................................................................27
2.1.2 Blocul XYGraph .............................................................................................................30
2.1.3 Blocul Display ................................................................................................................31
2.1.4 Blocul Floating Scope.....................................................................................................32
2.2 Salvarea datelor n fiiere i spaiul de lucru Matlab..............................................................33
2.3 Citirea datelor din fiiere i spaiul de lucru Matlab...............................................................36
2.4 Simularea unui model Simulink n Matlab .............................................................................37
2.5 Blocurile Mux i Demux.........................................................................................................38
2.5.1 Crearea semnalelor cu blocul Mux .................................................................................39
2.5.2 Extragerea semnalelor din blocul Demux.......................................................................39
2.6 Blocurile Bus Creator i Bus Selector ....................................................................................45
2.6.1 Crearea unui bus..............................................................................................................45
2.6.2 Selectarea semnalelor din bus.........................................................................................48
3. Blocuri pentru generarea i analiza semnalelor ..............................................................................49
3.1 Blocuri pentru generarea semnalelor ......................................................................................49
3.2 Blocuri pentru analiza semnalelor...........................................................................................50
3.3 Analiza modelelor la diverse intrri........................................................................................55
4. Blocuri de calcul .............................................................................................................................61
5. Blocuri neliniare..............................................................................................................................64
6. Funcii definite de utilizator............................................................................................................69
6.1 Funcii definite printr- o expresie............................................................................................69
6.2 Utilizarea funciilor Matlab.....................................................................................................70
6.3 Funcii definite de utilizator (S-Funcii) .................................................................................72
7. Simularea sistemelor liniare continue cu coeficieni constani .......................................................78
7.1 Blocul Transfer Fcn ................................................................................................................79
7.2 Blocul Zero-Pole.....................................................................................................................82
7.3 Blocul State-Space ..................................................................................................................84
8. Crearea de subsisteme.....................................................................................................................86
8.1 Crearea unui subsistem prin inserarea unui bloc Subsystem..................................................86
8.2 Crearea unui subsistem prin gruparea blocurilor ....................................................................93
9. Descrierea fiierului creat de editorul de modele............................................................................96
10. Secvena de calcul a elementelor modelului ...................................................................................98
2
1 Lansarea aplicaiei Simulink
Aplicaia Simulink se lanseaz n unul din urmtoarele moduri:
n fereastra de comand Matlab se tasteaz comanda simulink,
clic pe butonul din bara de instrumente a ferestrei Matlab.
Aceste comenzi deschid fereastra Simulink Library Browser din Figura 1. Fereastra afiaz n stnga
arborele bibliotecilor, n dreapta seciunile bibliotecii selectate, iar n partea de sus informaii asupra
bibliotecii sau blocului selectat.
1.1 Editorul de modele
Pentru a crea un nou model se lanseaz editorul de modele n unul din urmtoarele moduri:
se execut un clic pe File New Model din fereastra Simulink Library Browser vezi Figura
2 i se deschide o nou fereastr a unui model Simulink, din Figura 3.
clic pe File New Model din fereastra Matlab i se deschide o nou fereastr a unui model
Simulink, din Figura 3. In acest caz este posibil de a deschide fereastra Simulink Library
Browser cu un clic pe opiunile View Library Browser din fereastra modelului Simulink
din Figura 3 sau pe butonul din bara de instrumente din aceeai figur.


Figura 1. Fereastra Simulink Library Browser.
3

Figura 2. Crearea unui nou model


Figura 3. Fereastra editorului de modele n cazul unui nou model Simulink.

Bibliotecile existente conin elemente ce pot fi utilizate n model. Deschiderea unei biblioteci se face
cu un clic pe numele bibliotecii sau pe nodul din arborele cu biblioteci. In Figura 1 este expandat
nodul corespunztor bibliotecii Simulink ce conine elemente generale.
Meniurile File, Edit i View ale editorului de modele sunt artate n Tabelul 1. Ele conin n general
opiunile cunoscute. Celelalte meniuri vor fi prezentate ulterior.
Opiunile meniului File realizeaz operaiile urmtoare:
New creaz un nou model,
Open deschide un model existent,
Close inchide modelul curent,
Save salveaz modelul curent,
Save As salveaz modelul current sub un nume nou,
Print tiprete modelul curent,
Print Setup prescrie modul de tiprire,
Exit Matlab nchide aplicaia Matlab.




4


a) Meniul File b) Meniul Edit c) Meniul View
Tabelul 1. Meniurile File, Edit i View ale ferestrei unui model.

Opiunile meniului Edit realizeaz urmtoarele operaii:
Undo anuleaz ultima operaie,
Redo reface ultima operaie,
Cut mut n Clipboard blocul selectat,
Copy copiaz n Clipboard blocul selectat,
Paste copiaz n model blocul din Clipboard,
Clear terge blocul selectat,
Select All selecteaz ntregul model,
Copy model to clipboard copiaz modelul n Clipboard.
Celelalte opiuni ale meniului Edit vor fi prezentate ulterior.
Opiunile meniului View realizeaz urmtoarele operaii:
Toolbar afiaz sau ascunde bara de instrumente,
Status bar afiaz sau ascunde bara de stare,
Zoom in mrete aria selectat,
Zoom out micoreaz aria selectat,
Fit selection to view adapteaz diagrama modelului la dimensiunea ferestrei modelului.
Celelalte opiuni ale meniului View vor fi prezentate ulterior.
O parte din funciunile meniurilor File i Edit pot fi realizate cu butoanele barei de instrumente a
ferestrei editorului de modele, artat n Figura 4.


Figura 4. Bara de instrumente a editorului de modele.

Semnificaia butoanelor este cea din Tabelul 2.



5
Buton Funcie

New

Open

Save

Print

Cut

Copy

Paste

Undo

Redo
Tabelul 2. Butoanele barei de instrumente a editorului de modele.
Editorul de modele creaz din model un fiier cu extensia .mdl.
1.2 Bibliotecile aplicaiei Simulink
Bibliotecile aplicaiei Simulink sunt cele din Figura 5. Biblioteca Simulink cuprinde seciuni cu
blocurile de baz, utilizate n modele : pentru simularea sistemelor descrise de ecuaii difereniale
ordinare, a sistemelor discrete, funcii matematice, blocuri de geneare a semnalelor, de afiare a
semnalelor, etc. In cele ce urmeaz vom prezenta cteva elemente de interes general din aceste
biblioteci. Celelalte biblioteci conin elemente pentru simularea diverselor aplicaii din telecomunicaii,
sisteme automate, maini electrice, mecanic, etc.

Figura 5. Bibliotecile aplicaiei Simulink.
6
2 Crearea unui model
Pentru a crea un model se plaseaz mai nti blocurile n fereastra modelului i apoi se interconecteaz
aceste blocuri cu sgei.
2.1 Plasarea blocurilor
Plasarea blocurilor n model se face astfel:
1. se expandeaz nodul corespunztor bibliotecii cu un clic pe butonul din arborele din stnga
ferestrei Simulink Library Browser din Figura 1; n partea dreapt apar seciunile bibliotecii
selectate,
2. se selecteaz seciunea necesar din bibliotec cu un clic pe numele ei ; n dreapta sunt afiate
elementele din seciunea corespunztoare, vezi Figura 6; n partea de sus a ferestrei este afiat
descrierea elementului selectat,
3. se trage blocul din bibliotec n model, (drag and drop),
4. se deschide caseta de dialog specific blocului, de unde se aleg parametrii blocului.


Figura 6. Fereasta Simulink Library Browser.

In Figura 7 se arat fereastra unui nou model cu un element integrator inserat din biblioteca
Continuous. In Figura 8 se arat caseta de dialog corespunztoare integratorului, n care putem
prescrie condiia iniial n caseta de text Initial condition.

7

Figura 7. Fereastra unui nou model cu un integrator.

Pentru a efectua diverse operaii cu un bloc, (Cut, Copy, afiarea casetei de dialog cu parametrii
blocului, etc.), acesta trebuie selectat. Selectarea unui bloc se face cu un clic cu butonul drept sau stng
pe bloc. Atunci cnd blocul este selectat, n colurile lui apar patru marcaje ca n Figura 7. La un
moment dat se pot selecta mai multe blocuri din model. Acest lucru se face n unul din urmtoarele
moduri :
se selecteaz pe rnd cte un bloc innd apsat tasta Shift i executnd clic pe bloc,
se traseaz un dreptunghi cu mousul n jurul blocurilor ce trebuie selectate ; se poziioneaz
mousul n unul din colurile dreptunghiului i se trage mousul cu butonul apsat n colul opus
al dreptunghiului,
se pot selecta toate blocurile din model cu opiunea Select All a meniului Edit.
Un bloc odat selectat se poate deselecta cu un clic pe bloc. Un bloc din model poate fi ters, mutat sau
copiat n Clipboard. Acest lucru se face astfel :
1. se selecteaz blocul cu un clic,
2. se afiaz meniul Edit sau meniul contextual al blocului cu un clic cu butonul drept pe bloc,
vezi Tabelul 3 pentru opiunile celor dou meniuri,
3. clic pe opiunea necesar, Clear, Cut sau Copy.
4.1 Prescrierea proprietilor i parametrilor blocurilor
In cazul unui bloc selectat se pot afia trei meniuri ce permit, printre altele, alegerea proprietilor i
parametrilor blocului. Aceste meniuri sunt:
meniul Edit al editorului de modele din Tabelul 3a,
meniul contextual al blocului din Tabelul 3b,
meniul Format al editorului de modele din Tabelul 5.
Parametrii uni bloc se prescriu n caseta de dialog Block Parameters, specific fiecrui bloc. Aceast
caset se afiaz n dou feluri :
cu dublu clic cu butonul stng al mousului pe bloc,
cu clic pe opiunea xxx parameters a meniului Edit sau a meniului contextual al blocului (n
meniurile din Tabelul 3, aceast opiune este Integrator parameters).
Caseta de dialog cu parametrii blocului n cazul unui integrator este cea din Figura 8.

8

Figura 8. Caseta de dialog cu parametrii unui integrator.

Parametrii unui bloc pot fi valori numerice introduse n caseta de dialog sau variabile ce primesc
valori n spaiul de lucru Matlab.
Caseta de dialog cu parametrii unui bloc conine n partea superioar descrierea blocului, n exemplul
nostru integrarea semnalului de intrare. Caseta de dialog cu parametrii uni bloc are un buton Help care
afiaz o descriere detaliat a blocului. In Figura 9 se arat fereastra Help a elementului Integrator.
9

Figura 9. Fereastra Help cu descrierea blocului Integrator.

Menionm c, n general, blocurile Simulink au mai multe intrri i ieiri. Intrrile i ieirile pot fi
variabile scalare, vectori sau matrice ale cror elemente depind de timp. Blocul efectueaz aceeai
operaie asupra fiecrui semnal de intrare (analog vectorizrii funciilor n Matlab). In general,
dimensiunea semnalelor de intrare i de ieire se poate verifica din dimensiunea parametrilor blocului.
In cazul integratorului, condiia iniial trebuie s fie un numr, un vector sau o matrice. Dimensiunile
condiiei iniiale trebuie s corespund celor ale semnalului de intrare, iar dimensiunea ieirii este
egal cu dimensiunea intrrii.
Opiunile Foreground color i Background color ale meniului contextual al elementului din Tabelul
3b permit alegerea culorii fondului i primplanului blocului. Opiunea Format a aceluiai meniu i
meniul Format al editorului de modele permit alegerea fontului, rotirea blocului, reprezentarea n
oglind a blocului sau numelui, etc.
10

a) Meniul Edit b) Meniu contextual
Tabelul 3. Meniuri ale unui bloc selectat.

Submeniurile corespunznd acestor opiuni sunt artate respective n Tabelul 4a, Tabelul 4b.



a) Submeniurile Foreground
color i Background color
b) Submeniul Format
al blocului
Tabelul 4. Meniul contextual al unui bloc.
Submeniurile Foreground color, Background color i Format.

11

1) Align Blocks

2) Distribute Blocks

3) Resize Blocks
a) Meniul Format b) Submeniuri
Tabelul 5. Meniul Format al editorului de modele.

Meniul Format al editorului de modele este artat n Tabelul 5. Cteva opiuni de aranjare a desenului
sunt artate n Tabelul 6.

Desen Opiune
-

Align Centers Horizontally

Make Blocks Same Size
Make Horizontal Gaps Even
Tabelul 6. Opiuni de desenare a modelului.

12
Tabelul Tabelul 7 arat cteva opiuni de reprezentare a unui bloc.

Reprezentare bloc Opiuni

-

+ Font bold, italic, dimensiunea12

+ Culoare albastru

+ Nume bloc reprezentat n oglind (flip)

+ Bloc reprezentat n oglind (flip)

+ Bloc rotit
Tabelul 7. Opiuni de reprezentare a unui bloc.

Numele blocurilor se poate modifica pentru a corespunde semnificaiei din model. Se execut un clic
pe numele blocului i se introduce numele dorit. Numele blocurilor se poate ascunde cu un clic pe
opiunea Hide name a meniului Format al blocului din Tabelul 4b i se poate afia cu opiunea Show
name a aceluiai meniu.
Culoarea fondului modelului se prescrie prin selectarea opiunii Screen color din meniului Format al
editorului de modele ce afiaz meniul din Tabelul 4a (de data aceasta pentru fondul modelului).
4.2 Legende
Legendele conin informaii despre model. Un model poate conine mai multe legende. Pentru a crea o
legend se execut un clic dublu ntr-un punct al ferestrei i n caseta de text afiat se introduce
legenda dorit. Textul legendei poate conine i caractere speciale i litere greceti definite cu regulile
limbajului Latex, vezi capitolul privind reprezentrile grafice din Matlab. Stilul legendei se prescrie cu
opiunile meniului Format vezi Tabelul 5 sau cu opiunile meniului contextual din Tabelul 8a afiat la
un clic cu butonul drept pe legend. Stilul fontului legendei se alege cu opiunile Font, Enable Tex
command i Text alignment. Culorile fondului i primplanului se aleg cu opiunile Background
color i Foreground color. Opiunea Show drop shadow afiaz o umbr n jurul legendei.




a) la selectarea legendei b) la selectarea textului legendei
Tabelul 8. Meniuri contextual ale unei legende.
13
Opiunile Cut i Copy din Tabelul 8a mut i respectiv copiaz n Clipboard legenda. Opiunea Clear
terge legenda. O legend odat copiat n Clipboard poate fi copiat n orice loc din model cu
opiunea Paste a meniului Edit al modelului. Meniul contextual din Tabelul 8b se afiaz cu un clic cu
butonul drept pe legend, dup ce textul legendei a fost selectat. Opiunile Cut, Copy, Paste i Delete
efectueaz operaiile aceleai operaii ca mai sus cu textul legendei. Opiunea Select All a aceluiai
meniu selecteaz tot textul legendei.
4.3 Conectarea blocurilor. Semnale
Blocurile modelului sunt conectate de sgei. Sgeile corespund conexiunilor de la ieirile unor
blocuri la intrrile altor blocuri. Fiecare sgeat corespunde unui semnal din model.
Conectarea blocurilor se poate face n mai multe feluri :
1. conectarea automat a dou blocuri:
se selecteaz blocul surs cu un clic,
se apas tasta Ctrl i clic pe blocul destinaie cu butonul stng al mousului sau cu butonul
drept al mousului, dup care se elibereaz tasta Ctrl. Simulink traseaz conexiunea ntre
ieirea blocului surs i intrarea blocului destinaie. In cazul n care blocul surs are mai
multe ieiri i blocul destinaie mai multe ntrri, Simulink traseaz ct de multe conexiuni
sunt posibile ntre cele dou blocuri.
2. conectarea manual a dou blocuri, prima metod
se unete ieirea blocului surs cu intrarea blocului destinaie cu butonul stng al mousului
sau cu butonul drept al mousului apsat.
3. conectarea manual a dou blocuri, a doua metod
se unete intrarea blocului destinaie cu ieirea blocului surs cu butonul stng al mousului
sau cu butonul drept al mousului apsat.
In multe cazuri este nevoie de mai multe conexiuni de la ieirea unui bloc la mai multe intrri ale altor
blocuri. Pentru a trasa o linie suplimentar de la o ieire a unui bloc la o intrare a altui bloc se
procedeaz astfel :
se poziioneaz cursorul pe linie n punctul de ramificare,
se apas tasta Ctrl i cu butonul stng al mousului apsat se trage cursorul pn la intrarea
blocului ce trebuie conectat, dup care se elibereaz tasta Ctrl i butonul mousului.
Semnalele se pot selecta cu un clic pe sgeata corespunztoare.
Menionm c, n general, blocurile Simulink au mai multe intrri i ieiri. Intrrile i ieirile pot fi
variabile scalare, vectori sau matrice ale cror elemente depind de timp. Este posibil de a afia
dimensiunea semnalelor, iar semnalele nescalare se pot afia cu linie ngroat. Pentru a afia
dimensiunea semnalelor multidimensionale se selecteaz un semnal i se execut cu clic pe opiunea
Signal dimensions a meniului Format din Tabelul 5. Pentru a desena ngroat semnalele
multidimensionale se selecteaz un semnal i clic pe opiunea Wide nonscalar lines a meniului
Format.
Semnalele pot avea nume date de programator. Pentru a da un nume unui semnal se procedeaz n unul
din urmtoarele moduri :
clic cu butonul drept pe semnal i se afiaz meniul contextual din Tabelul 9a. La un clic pe
opiunea Signal Properties se afiaz caseta Signal Properties din Tabelul 9b. In caseta de text
Signal name se introduce numele dorit pentru semnal,
se selecteaz semnalul cu un clic cu butonul stng pe semnal ; se execut un clic pe meniul
Edit; un clic pe opiunea Signal Properties se afiaz caseta Signal Properties din Tabelul 9b.

14

a) meniu contextual b) caseta Signal Properties
Tabelul 9. Meniu contextual i caseta cu proprietile semnalelor.

Se pot afia blocul surs sau blocurile destinaie pentru un semnal oarecare. Pentru aceasta se afiaz
meniul contextual din Tabelul 9a i clic pe opiunea Highlight to source respectiv Highlight to
destination. Se obin reprezentrile din Tabelul 10. Opiunea Remove highlighting anuleaz opiunile
anterioare.


a) afiarea destinaiei semnalului b) afiarea sursei semnalului
Tabelul 10. Afiarea sursei i destinaiei semnalelor.

In principiu, orice ieire a unui bloc trebuie conectat la intrarea unui alt bloc. In cazul cnd ieirea
unui bloc nu trebuie conectat la intrarea altui bloc, aceast ieire se conecteaz la un bloc Terminator
din Figura 10.


Figura 10. Blocul Terminator
15
4.4 Blocurile Integrator, Gain i Sum, Add, Subtract, Sum of Elements
Blocurile Integrator, Gain i Sum, Add, Subtract sunt des folosite la simularea sistemelor descrise de
ecuaii difereniale ordinare.
Blocurile Gain nmulete intrarea cu o constant. Intrarea i constanta pot fi scalari, vectori sau
matrice.
Blocurile Sum, Add, Subtract i Sum of Elements realizeaz funcii identice. Ele adun sau scad
intrrile lor. Intrrile pot fi scalari, vectori sau matrice. Blocurile pot avea mai multe intrri i putem
prescrie semnele intrrilor.
Aceste blocuri sunt artate n Tabelul 11. Ele se gsesc n biblioteca Math Operations.

Bloc Simbolizare
Add

Subtract

Sum

Sum of Elements

Gain

Tabelul 11. Blocuri de nsumare i inmulire cu o constant.

Exemplu. S calculm soluia ecuaiei difereniale ordinare
x'' + 3x' + 2x = 0
n condiiile iniiale x
0
= 1 i x'
0
= 0 pe o durat de 5s. Modelul este artat n Figura 11. La intrarea
integratorului x' trebuie s introducem mrimea x''. Din ecuaia diferenial deducem
x'' = -3x' 2x
Inmulirea mrimilor x i x' cu 2 i respectiv 3 se face cu blocuri Gain. Ele sunt nsumate n blocul
Sum.


Figura 11. Modelul ecuaiei difereniale ordinare x'' + 3x' + 2x = 0.
16
In Figura 11 sunt adugate semnalelor numele x i respectiv x', pentru a corespunde semnificaiei din
model. Aceasta se face cu procedura prezentat anterior:
1. clic cu butonul drept pe semnal,
2. n meniul contextual afiat clic pe opiunea Signal properties,
3. n caseta de text Signal name se introduce numele dorit.
S-a adugat o legend a modelului. Pentru aceasta se execut un clic dublu ntr-un punct al ferestrei i
n caseta de text afiat se introduce legenda dorit, n cazul nostru Modelul ecuaiei difereniale x +
3x + 2x= 0. Fontul legendei a fost modificat.
Caseta de dialog cu parametrii blocului Sum este arta n Figura 12. In aceast caset se pot alege n
zona Parameters:
forma elementului, dreptunghi sau rotund, din caseta Icon shape,
semnele semnalelor de intrare, + sau -. In lista respectiv se introduce plus dac semnalul va fi
adunat i dac va fi sczut.
Dup cum s-a spus mai nainte, caseta cu parametrii blocului conine n partea superioar descrierea
blocului. In cazul blocului Sum se arat cum se completeaz lista de semne.
Blocurile Add, Subtract i Sum of Elements au aceeai caseta cu parametrii ca blocul Sum.


Figura 12. Caseta de dialog cu parametrii elementului Sum.

Casetele de dialog cu parametrii blocurilor Integrator nu sunt artate.
Caseta de dialog a blocului Gain este cea din Figura 13. In caseta de text Gain se introduce factorul de
amplificare, n cazul celor dou blocuri din modelul nostru, 3 i respectiv 2. Blocul Gain poate avea
mai multe intrri i ieiri. In acest caz parametrul blocului este o matrice, dup cum se va explica mai
jos. Modul de prescriere al factorului de amplificare este specificat n partea superioar a casetei din
Figura 13.

17

Figura 13. Caseta de dialog cu parametrii blocului Gain.

Menionm c blocurile Gain care nmulesc ieirile integratoarelor x cu 2 i respectiv x cu 3 sunt
desenate iniial de ctre editorul de modele rotite cu 180
0
faa de desenul din Figura 11. Ele sunt rotite
ca n Figura 11 astfel:
1. clic cu butonul drept pe blocul Gain i se afiaz Meniul contextual din Tabelul 3b,
2. clic pe opiunea Format i se afiaz meniul contextual din Tabelul 4b; clic pe opiunea Flip
block i blocul este rotit cu 180
0
i apare desenat ca n Figura 11.
Operaia de rotire a blocului poate fi realizat i din meniul Format al editorului de modele.
Rezultatul simulrii modelului este cel din Figura 14.


Figura 14. Rezultatul simulrii sistemului din Figura 11.

Reamintim c, n general, blocurile Simulink au mai multe intrri i ieiri. Blocurile realizeaz aceeai
operaie asupra tuturor semnalelor de intrare. De exemplu, intrarea unui bloc Integrator poate fi un
scalar, un vector sau o matrice de semnale i ieirea acestui bloc are aceeai dimensiune cu intrarea.
Fiecare semnal de intrare este integrat separat, iar condiiile iniiale se prescriu separat pentru fiecare
semnal (un scalar, un vector sau o matrice).
Blocul Gain necesit o discuie separat. Fie u intrarea n blocul Gain, y ieirea, iar K este factorul de
amplificare. Intrarea i ieirea unui bloc Gain pot fi scalari, vectori sau matrice de semnale. Factorul de
amplificare K poate fi un scalar, un vector sau o matrice. Blocul Gain poate realiza urmtoarele
operaii, vezi Figura 13 i Figura 15:
nmulire element cu element (Element-wise gain)
y = K .* u
18
nmulire matricial (Matrix gain):
y = K * u
y = u * K
In cazul nmulirii element cu element, matricea K i intrarea u trebuie s aibe dimensiunile
compatibile operaiei .*.
In cazul nmulirii matriciale, K este o matrice compatibil pentru nmulirea cu intrarea u, nu neaprat
o matrice patrat. Dimensiunea ieirii y este dimensiunea matricei rezultat. Tipul operaiei realizate de
bloc se alege din lista Multiplication a casetei de dialog a blocului Gain, vezi Figura 15.


Figura 15. Lista Multiplication a blocului Gain.

Exemplu. Fie din nou ecuaia diferenial
x + 3*x + 2x = 0
Vrem s calculm soluia ecuaiei n condiiile iniiale x
0
= 1 i x
0

= 0. Vom pune ecuaia sub forma


unui sistem de ecuaii difereniale de ordin nti. Cu substituiile
y = x
1

y' = x
2
obinem sistemul
y y


=
3 2
1 0
'
Modelul este cel din Figura 16, n care semnalele sunt vectori cu dimensiunea 2. In cazul semnalelor
multidimensionale se poate afia dimensiunea semnalelor. Se selecteaz un semnal i se execut un
clic pe opiunea Signal dimension a meniului Format. Dimensiunile semnalelor apar ca n Figura 16.

19

Figura 16. Modelul ecuaiei difereniale x + 3x + 2x = 0.

Parametrul blocului Gain este matricea


=
3 2
1 0
K
Caseta de dialog a blocului Gain n acest caz este artat n Figura 17. In lista Multiplication s-a ales
opiunea K * u.


Figura 17. Parametrii blocului Gain.
Rezultatul simulrii sistemului este artat n Figura 18.

20

Figura 18. Rezultatul simulrii sistemului din Figura 16.
3.1 Parametrii simulrii
Parametrii simulrii se prescriu cu opiunile meniului Simulation din Figura 19.


Figura 19. Meniul Simulation.

La un clic pe opiunea Simulation parameters se afiaz caseta de dialog Simulation Parameters
seciunea Solver din Figura 20. In aceast caset se aleg:
timpul iniial al simulrii (Start time) i timpul final (Stop time) n zona Simulation time,
metoda de integrare i tipul metodei, cu pas fix sau variabil din listele Type ale zonei Solver
options.
n cazul metodelor cu pas variabil se pot alege erorile, relativ (Relative tolerance) i absolut
(Absolute tolerance), dimensiunea iniial a pasului de integrare (Iniial step size),
dimensiunile minim (Min step size) i maxim (Max step size) ale pasului de integrare, etc.
Menionm c n dreapta jos a ferestrei modelului este afiat metoda de integrare utilizat.

21

Figura 20. Caseta de dialog Simulation Parameters, seciunea Solver.

Pentru a ncepe simularea clic pe opiunea Start a meniului Simulation din Figura 19 sau pe butonul
din bara de instrumente. Pentru oprirea simulrii clic pe opiunea Stop a meniului Simulation sau
pe butonul din bara de instrumente. Rezultatul simulrii se afiaz pe blocul Scope. Figura 14
prezint rezultatul simulrii sistemului din Figura 11.
Este posibil ca rezultatele simulrii s fie transmise n spaiul de lucru Matlab pentru prelucrri
ulterioare sau s se citeasc din spaiul Matlab starea iniial a modelului i intrri pentru anumite
blocuri. Pentru aceasta se utilizeaz seciunea Workspace I/O a casetei de dialog Simulation
Parameters din Figura 21.


Figura 21. Caseta de dialog Simulation parameters, seciunea Workspace I/O.

Vom arta utilizarea cestor faciliti n paragrafele urmtoare.
22
3.1.1 Scrierea strii i ieirilor porturilor n spaiul Matlab
In zona Save to Workspace se marcheaz datele ce vor fi transmise n spaiul de lucru Matlab:
se marcheaz opiunea Time i se transmite vectorul tout cu momentele de timp n care s-a
calculat soluia,
se marcheaz opiunea States i se transmite matricea xout ce conine pe coloane valorile
variabilelor de stare ce compun soluia (ieirile integratoarelor).
se marcheaz opiunea Output i se transmite matricea yout ce conine pe coloane ieirile
blocurilor tip Outport, porturile de ieire din model.
Menionm c numele acestor variabile pot fi schimbate dup dorin n caseta de text
corespunztoare.
Pentru exemplul de mai sus s-au transmis n spaiul Matlab vectorul tout i matricea xout i s-a
reprezentat soluia cu urmtorul program :

>> plot(tout, xout)
>> grid
>> xlabel('time')

Rezultatul programului este cel din Figura 22.


Figura 22. Soluia sistemului din Figura 16 reprezentat n Matlab.

Fie acum modelul din Figura 23, n care ieirile unor blocuri sunt conectate la blocuri tip Outport, care
sunt aici porturi de ieire ale modelului. Pentru a transmite ieirile blocurilor tip Outport, Out1 i Out2
n spaiul de lucru Matlab, se marcheaz opiunea Output din Figura 21.
23

Figura 23. Model cu blocuri tip Outport.

Rezultatele transmise n spaiul Matlab se reprezint grafic n Figura 24 cu programul urmtor:

>> plot(tout, yout)
>> grid
>> xlabel('time')
>> ylabel('1-cos(time), cos(time)')
>> legend('1-cos(time)', 'cos(time)', 2)

Menionm c s-a transmis n spaiul Matlab i vectorul tout cu momentele de timp la care s-a calculat
soluia. In cazul nostru matricea yout are dou coloane cu ieirile celor dou blocuri tip Outport, Out1
i Out2. Cteva din elementele matricei yout sunt prezentate mai jos.

>> yout
yout =
0 0
0.0199 0.9933
0.0789 0.9537
0.1747 0.8761
0.3033 0.7636
0.4597 0.6206
0.6376 0.4528
0.8300 0.2671
1.0292 0.0706
1.2272 -0.1286
24

Figura 24. Soluia sistemului din Figura 23 reprezentat n Matlab.

3.1.2 Citirea strii iniiale i a intrrilor porturilor din spaiul Matlab
Este posibil de a prescrie ca stare iniial a modelului un vector din spaiul Matlab i de a importa date
care s fie intrrile blocurilor tip Inport din model (porturile de intrare ale modelului). Datele vor fi n
forma unei matrice care conine n prima coloan valorile timpului n ordine cresctoare, iar n
coloanele urmtoare valorile funciilor de timp ce vor fi importate .
Prescrierea strii iniiale a modelului se face astfel :
1. se valideaz opiunea opiunea Initial state din zona Load from workspace din Figura 21,
2. n spaiul de lucru Matlab se definete vectorul xInitial cu valorile dorite pentru starea iniial a
modelului.
Vom exemplifica acest lucru pe modelul din Figura 16. In caseta de dialog din Figura 25 se
marcheaz opiunea Initial state.
25

Figura 25. Prescrierea strii iniiale a modelului n spaiul de lucru Matlab.

In spaiul Matlab prescriem vectorul strii iniiale xInitial ca mai jos:

>> xInitial = [0 1]';

ce corespunde strii iniiale x
0
=0 i x

0
=1. Rezultatul simulrii este cel din Figura 26.


Figura 26. Rezultatul simulrii sistemului din Figura 16.

Vom arta acum modul de a importa date care vor fi intrrile elementelor tip Inport (porturile de
intrare ale modelului). Datele au forma unei matrice care conine n prima coloan valorile timpului n
ordine cresctoare, iar n coloanele urmtoare valorile funciilor de timp ce vor fi importate.
Fie modelul din Figura 27 n care vom integra o serie de timp citit din spaiul de lucru Matlab. In
caseta Simulation Parameters, seciunea Workspace I/O din Figura 25 vom marca opiunea Input din
zona Load from workspace, iar n caseta de text corespunztoare vom scrie numele variabilelor din
spaiul de lucru Matlab ce conin timpul i seria de timp citit. Numele implicite ale acestor variabile
26
sunt [t, u]. In cazul nostru vom pstra numele implicite. Instruciunile Matlab ce dau valori acestor
variabile sunt:

>> t = (0: 0.1: 5)';
>> u = [sin(2 * t)];

In model aceste date sunt ieirea elementului Inport In1.


Figura 27. Importarea datelor din spaiul de lucru Matlab.



Figura 28. Rezultatul simulrii modelului din Figura 27.

27
2.1 Afiarea rezultatelor
Aplicaia Simulink are blocuri pentru reprezentarea grafic a rezultatelor, pentru scrierea rezultatelor
ntr-un fiier sau pentru transmiterea lor n spaiul de lucru Matlab pentru prelucrri ulterioare. In acest
paragraf vom prezenta blocurile pentru afiarea grafic a rezultatelor.
Blocurile Scope, Floating Scope i XYGraph se utilizeaz pentru reprezentarea grafic a rezultatelor.
Blocul Scope are intrri ce pot fi scalari, vectori sau matrice i reprezint rezultatele n funcie de
variabila independent a simulrii, de regul timpul. Blocul XYGraph are dou intrri, X i Y i
reprezint curbe de forma Y(X). Blocul Floating Scope nu este conectat la elemente.
Blocul Display afiaz valoarea intrrii pe icoana blocului.
Aceste blocuri sunt simbolizate ca n Tabelul 12. Ele se gsesc n biblioteca Sinks.

Bloc Simbolizare
Scope

XY graph

Floating Scope

Display

Tabelul 12. Blocuri de afiare a rezultatelor.
2.1.1 Blocul Scope
Fereastra blocului Scope a fost artat n Figura 14, Figura 18 i Figura 26. Butoanele barei de
instrumente a blocului Scope au semnificaia din Tabelul 13.

Buton Semnificaie

Tiprire

Parametrii blocului

Zoom

Zoom axa X

Zoom axa Y

Autoscale (Autoscalare)
Tabelul 13. Bara de instrumente a blocului Scope.

Butoanele Zoom permit extinderea anumitor zone ale figurii. Opiunea Autoscale (Autoscalare)
extinde graficul la ntreaga fereastr. Acelai efect se obine cu un clic cu butonul drept pe axele figurii
sau pe figur. Se afiaz meniul contextual din Tabelul 14 n care se poate activa opiunea Autoscale i
se pot alege proprietile axelor. Acestea sunt : valorile minim i maxim pentru axa Y, Y-min i Y-
max i titlul graficului.

28

a) Meniu contextual al blocului Scope b) Alegerea proprietilor axelor
Tabelul 14. Alegerea parametrilor blocului Scope.
Butonul permite alegerea parametrilor blocului. La un clic pe buton se afiaz caseta de dialog
din Tabelul 15 ; n seciunile ei se prescriu n seciunea General parametrii axelor, iar n seciunea
Data history numrul de puncte reprezentate, dac se vor salva datele n spaiul Matlab, etc.
Un parametru important este numrul de axe (implicit 1), care d numrul de intrri ale blocului Scope
care este i numrul de ferestre ale blocului.

a) Seciunea General b) Seciunea Parameters
Tabelul 15. Alegerea parametrilor blocului Scope.

Vom exemplifica utilizarea parametrilor blocului Scope la modelul de mai jos. Acesta este sistemul
din Figura 11, repetat n Figura 29, pentru care dorim s reprezentm grafic mrimile x i x

n dou
ferestre. Pentru aceasta se modific parametrul Number of axes la 2 ca n Figura 30 ; acum blocul
Scope are dou intrri i afiaz fiecare intrare ntr-o fereastr separat.


Figura 29. Modelul ecuaiei difereniale x+3x+2x=0.
29


Figura 30. Modificarea parametrilor blocului Scope.

Rezultatul simulrii este cel din Figura 31.


Figura 31. Rezultatul simulrii sistemului din Figura 29.

Pentru a transmite n spaiul de lucru Matlab rezultatele reprezentate grafic de blocul Scope se
valideaz opiunea Save data to workspace din caseta de dialog Scopes parameters, seciunea Data
history, vezi Tabelul 15b. In caseta de text corespunztoare se poate prescrie numele structurii de date
ce va fi exportat n spaiul Matlab. Numele implicit al acestei structuri este ScopeData. Formatul ei
poate fi ales din lista din Figura 32. In cazul cnd se alege formatul Structure sau Structure with
time, elementele structurii sunt cele de mai jos.

>> ScopeData
ScopeData =
time: [56x1 double]
signals: [1x2 struct]
blockName: 'ex1a/Scope'

ScopeData.time este un vector cu momentele de timp ale soluiei. Elementul ScopeData.signals este o
structur ce conine:
30
valorile mrimilor reprezentate grafic, ScopeData.signals.values,
numrul de mrimi reprezentate pe fiecare grafic, ScopeData.signals.dimensions,
titlul, ScopeData.signals.title,
etichetele graficelor, ScopeData.signals.label.
Elementele structurii sunt afiate n Matlab ca mai jos.

>> ScopeData.signals
ans =
1x2 struct array with fields:
values
dimensions
label
title
plotStyle


Figura 32. Alegerea tipului variabilei ScopeData.

In cazul nostru blocul Scope are dou ferestre. In consecin, structura ScopeData.signals are dou
cmpuri, vezi mai sus. Valorile memorate n primul cmp se acceseaz cu indicele 1,
ScopeData.signals(1).values, ScopeData.signals(1).label, etc. Avem de exemplu

>> ScopeData.signals(1).label
ans =
x'

>> ScopeData.signals(2).label
ans =
x

Opiunea Array se poate alege doar dac blocul Scope are o singur intrare. Structura de date este
asemntoare cu cea anterioar.

2.1.2 Blocul XYGraph
Este posibil s reprezentm traiectoria de faz x' = f(x) cu ajutorul blocului XYGraph. Blocul are dou
intrri scalare, prima intrare corespunde axei X. Vom reprezenta planul fazelor pentru modelul din
Figura 33 in condiiile iniiale x
0
=1 i x

0
=0. Ieirile x' i x sunt conectate la un bloc XYGraph.

31

Figura 33. Modelul ecuaiei difereniale ordinare x'' + 3x' + 2x = 0.
Traiectoria de faz a sistemului este cea din Figura 34.


Figura 34. Planul fazelor pentru ecuaia diferenial ordinar x'' + 3x' + 2x = 0.

Pentru a prescribe limitele axelor X i Y se selecteaz blocul i clic pe opiunea Mask Parameters a
meniului Edit sau a meniului contextual al blocului.
2.1.3 Blocul Display
Blocul Display afiaz valoarea intrrii n icoana sa. Exemple de utilizare a acestui bloc vor fi
prezentate ulterior.
32
2.1.4 Blocul Floating Scope
Blocul Floating Scope poate reprezenta semnalele de pe una sau mai multe linii. Pentru aceasta se
include n model un bloc Floating Scope i se procedeaz astfel:
1. se selecteaz blocul cu un clic,
2. se selecteaz semnalele ce vor fi afiate de bloc innd apsat tasta Shift i executnd clic pe
fiecare semnal ce va fi afiat.
Se execut apoi simularea.
Fie sistemul din Figura 35. Se calculeaz ieirea lui la o treapt aplicat la timpul 1.


Figura 35. Calculul ieirii unui sistem.

Semnalele sunt afiate de blocul Floating Scope ca n Figura 36.
In Figura 35 se observ c blocul Floating Scope i semnalele u i y sunt selectate.


Figura 36. Blocul Floating Scope.
33
2.2 Salvarea datelor n fiiere i spaiul de lucru Matlab
Pentru a salva rezultatele simulrii n fiiere sau n spaiul de lucru Matlab se utilizeaz blocurile To
File i To Workspace. Reamintim c putem transmite n spaiul de lucru Matlab starea sistemului,
ieirile blocurilor tip Outport, etc. prescriind anumii parametri ai simulrii, ca ntr-un paragraf
anterior. Blocurile To File i To Workspace sunt simbolizate ca n Tabelul 16. Ele se gsesc n
biblioteca Sinks.

Bloc Simbolizare
To File

To Workspace

Tabelul 16. Blocuri de salvare a datelor n fiiere i n Matlab.

Fie sistemul din Figura 37 care utilizeaz blocuri To Workspace i To File.


Figura 37. Blocurile To file i To simout.

Caseta cu parametrii blocului To File este artat n Figura 38. Parametrii blocului sunt urmtorii :
Filename este numele fiierului n care se scriu datele. Blocul To File scrie o coloan la fiecare
moment de timp, primul rnd este timpul, urmtoarele rnduri sunt datele simulrii (intrarea n
blocul To File).
Variable name este numele matricei cu date ce va fi scris n fiier. Numele implicit al
matricei este ans.

34

Figura 38. Caseta de dialog cu parametrii blocului To file.

In exemplul de mai sus numele fiierului este data.mat, iar numele matricei ce va fi scris n acest
fiier Matlab este sinrez.
Primele coloane a matricei sinrez n cazul modelului din Figura 37 sunt reprezentate mai jos.
Programul Matlab de mai jos ncarc datele din fiierul data.mat i afiaz matricea sinrez din acest
fiier.

>> load data.mat
>> sinrez
sinrez =
Columns 1 through 7

0 0.2000 0.4000 0.6000 0.8000 1.0000 1.2000
-1.0000 -0.9801 -0.9211 -0.8253 -0.6967 -0.5403 -0.3624

Blocul To Workspace scrie datele n spaiul Matlab. Caseta de dialog a blocului este artat n Figura
39.

35

Figura 39. Caseta de dialog cu parametrii blocului To Workspace.

Parametrii blocului sunt urmtorii:
n caseta de text Variable name se introduce numele structurii ce va conine datele ; numele
implicit este simout,
n lista Save format se alege formatul n care se vor salva datele.
Formatul datelor este asemntor cu cel al blocului Scope. In cazul cnd formatul este Array datele se
scriu ntr-o matrice cu valorile pe coloane. In celelalte cazuri formatul datelor este structura de mai jos.

>> simout

simout =

time: [51x1 double]
signals: [1x1 struct]
blockName: 'data/To Workspace'

Dac formatul ales este StructureWithTime, componenta simout.time conine momentele de timp n
care este calculat soluia.
Componenta values conine datele simulrii. Ea are formatul de mai jos.

>> simout.signals

ans =

values: [51x1 double]
dimensions: 1
label: ''

Componenta simout.signals.values conine datele simulrii.
36
2.3 Citirea datelor din fiiere i spaiul de lucru Matlab
Este posibil de a citi date din fiiere sau din spaiul de lucru Matlab pentru a fi utilizate ca ntrri ale
unor blocuri din model. Blocurile utilizate sunt From Workspace i From File. Ele se gsesc n
biblioteca Sources.
Menionm c putem citi din spaiul Matlab starea iniial a sistemului i intrrile blocurilor tip Inport,
prescriind anumii parametri ai simulrii, ca ntr-un paragraf anterior.

Bloc Simbolizare
From File

From Workspace

Tabelul 17. Blocuri de citire a datelor din fiiere i Matlab.

Modelul din Figura 40 utilizeaz blocul From Workspace.


Figura 40. Blocul From Workspace.

Caseta de dialog a blocului From Workspace este artat n Figura 41. In caseta Data se introduce
numele matricei ce conine datele. Numele implicit al matricei este simin.
Un format al datelor citite este acela de matrice care conine valorile timpului n prima coloan i
valorile corespunztoare ale funciei de timp n a doua coloan.. In exemplul de mai sus matricea este
generat cu instruciunile de mai jos

>> t = (0: 0.1: 5)';
>> u = sin(t);
>> simin = [t, u];

Rezultatul derivrii funciei sin(t) este artat n Figura 42.
37

Figura 41. Caseta de dialog a blocului From Workspace.


Figura 42. Rezultatul simulrii sistemului din Figura 40.

2.4 Simularea unui model Simulink n Matlab
Un model Simulink odat creat poate fi simulat n Matlab cu funcia sim
[t, x, y] = sim('model', tspan, options, ut)
Parametrii instruciunii sunt:
'model' - numele modelului (numele fiierului . mdl)
tspan - vectorul [tstart, tfinal], cu timpii de nceput i de sfrit ai simulrii
options - vector cu opiunile simulrii, cu perechi nume, valoare
38
ut - intrare extern opional, utilizat cnd modelul are porturi de intrare (blocuri de tip
Inport).
Rezultatul funciei sim este matrice ce conine
t - vector cu timpii soluiei,
x - matrice cu starea modelului, strile continue (ieirile integratoarelor) i strile discrete
(ieirile elementelor discrete),
y - matrice cu ieirile porturilor modelului (blocuri de tip Outport).
Ca exemplu vom simula n Matlab modelul ex1 din Figura 11. Programul

[t, x, y] = sim('ex1', [0, 5], [], []);
plot(t, x);
grid
xlabel('timp')
ylabel('x', 'x''')
legend('x', 'x''')

are ca rezultat curbele din Figura 43.


Figura 43. Rezultatul simulrii ecuaiei x'' + 3x' + 2x = 0.

2.5 Blocurile Mux i Demux
In general, blocurile Simulink pot avea ca intrare un scalar, un vector, sau o matrice. Un asemenea
bloc este integratorul. Pentru a lucra cu semnale multidimensionale exist blocul Mux, care grupeaz
semnalele ntr-un vector de semnale, i blocul Demux, ce extrage semnalele grupate anterior. Blocurile
Mux i Demux sunt simbolizate ca n Tabelul 18. Ele se gsesc n biblioteca Signal Routing.
39

Bloc Simbolizare
Mux

Demux

Tabelul 18. Blocurile Mux i Demux.

Semnalele de la intrrile i ieirile blocurilor Mux i Demux sunt, n general, multidimensionale. In
model, putem evidenia aceste semnale astfel :
Putem reprezenta aceste semnale ngroat, cu clic pe Format Port / Signal Display
Wide Nonscalar Lines,
Putem afia pe fiecare semnal din model dimensiunea lui, cu clic pe Format Port / Signal
Display Signal Dimensions,
Putem afia pe fiecare semnal tipul semnalului cu clic pe Format Port / Signal Display
Port Data Types.
2.5.1 Crearea semnalelor cu blocul Mux
Blocul Mux are un parametru, Number of inputs, ce specific numrul de porturi de intrare n bloc.
Dac acest parametru este un numr, el specific numrul de intrri n bloc i fiecare semnal de intrare
poate fi scalar sau vector de orice dimensiune. Dac parametrul este un vector, numrul de
componente ale vectorului d numrul de intrri ale blocului, i fiecare element al vectorului d
dimensiunea semnalului la intrarea respectiv.
Semnalele de intrare n blocul Mux pot fi scalari, vectori, de tip numeric. Ordinea semnalelor este cea
n care ele apar la intrrile blocului Mux.
2.5.2 Extragerea semnalelor din blocul Demux
Blocul Demux are dou moduri de lucru :
modul Bus Selection, n care blocul poate avea ca intrare un semnal creat de un bloc Mux, sau
ieirea unui alt bloc Demux,
modul Vector n care blocul poate avea ca semnal de intrare un semnal scalar, vector sau
matrice, generat de un bloc de alt tip.
Blocul Demux are un parametru Bus selection mode care arat modul de lucru al blocului. Dac
parametrul este marcat, intrarea trebuie s fie generat de un bloc Mux, sau s fie ieirea unui alt bloc
Demux.
Blocul are un parametru Number of outputs n care se specific numrul de ieiri (porturi) ale
blocului Demux i dimensiunea fiecrei ieiri.
Modul de extragere a semnalelor din blocul Demux. depinde de modul de lucru al blocului.
2.5.2.1 Extragerea semnalelor n modul de lucru Vector
Extragerea semnalelor n modul de lucru Vector se face astfel : cnd valoarea parametrului Number of
outputs este un numr p, egal cu numrul de intrri n, acest numr specific numrul de ieiri scalare
ale blocului. Cnd valoarea parametrului Number of outputs este un numr p, mai mic dect numrul
de intrri n, acest numr p specific numrul de ieiri. Dimensiunea fiecrei ieiri se calculeaz astfel :
dac n mod p = 0, fiecare ieire are dimensiunea n / p,
dac n mod p = m, m ieiri au n / p+1 elemente, celelalte p m ieiri au n / p elemente.
Cnd parametrul Number of outputs este un vector, dimensiunea vectorului d numrul de ieiri
(porturi), i fiecare component d dimensiunea semnalului unei ieiri a blocului.
Fie de exemplu modelul din Figura 44, n care blocul Sin Wave genereaz trei semnale sinusoidale,
decalate cu 2*pi/3. Vom reprezenta cele trei semnale pe acelai grafic, n blocul Scope3, i primele
dou semnale pe un grafic n blocul Scope i al treilea semnal pe un grafic n blocul Scope1.
40


Figura 44. Demultiplexarea semnalelor.

Semnalele au fost desenate ngroat i cu dimensiunile lor, aa cum s-a artat mai sus.
Parametrii blocului Demux sunt cei din Figura 45. Parametrul Number of outputs are ca valoare
vectorul [2 1].


Figura 45. Parametrii blocului Demux.

Semnalele sunt cele din Figura 46, pentru blocul Scope3 cu cele trei semnale, i n Figura 47 i Figura
48 pentru semnalele demultiplexate.

41

Figura 46. Blocul Scope3 cu cele trei semnale.


Figura 47. Blocul Scope cu primele dou semnale.


Figura 48. Blocul Scope1 cu al treilea semnal.
42
2.5.2.2 Extragerea semnalelor n modul de lucru Bus Selection
Extragerea semnalelor n modul de lucru Bus Selection se face astfel :
dac valoarea parametrului Number of outputs este un scalar, el d numrul de porturi de
ieire. Acest numr trebuie s fie egal cu numrul de semnale de intrare n blocul Demux,
dac parametrul Number of outputs este un vector, componentele vectorului dau numrul de
semnale ale fiecrui port.
Fie modelul din Figura 49, n care blocul Sin Wave genereaz un semnal cu dimensiunea trei, blocul
Pulse Generator un semnal cu dimensiunea doi, iar blocul Random Number un semnal cu dimensiunea
doi. Intrarea blocurilor tip Demux este ieirea blocului tip Mux. Se observ c linia ce conecteaz
ieirea blocului Mux cu intrarea blocurilor Demux este diferit n acest mod de lucru fa de modul
Vector.


Figura 49. Demultiplexarea semnalelor.

Pe liniile ce conecteaz blocurile Mux i Demux sunt marcate numrul de semnale i suma
dimensiunilor acestor semnale.
Parametrul Bus Selection Mode al blocurilor Demux este marcat. Blocul Demux are ca parametru
Number of Outputs valoarea trei, care este numrul de semnale i deci numrul de porturi de ieire.
Semnalele la cele trei ieiri ale blocului Demux sunt artate n Figura 50, Figura 51, Figura 52.

43

Figura 50. Primul port al blocului Demux.


Figura 51. Al doilea port al blocului Demux.


Figura 52. Al treilea port al blocului Demux.
44

Blocul Demux1 are ca parametru Number of Outputs vectorul [2 1], care arat c blocul are dou
porturi (ieiri), la primul port sunt conectate primele dou semnale, la cel de al doilea port este
conectat al treilea semnal. Figura 53 arat prima ieire a blocului Demux1, ce conine primele dou
semnale. Figura 54 arat a doua ieire a blocului Demux1 cu al treilea semnal.


Figura 53. Primul port al blocului Demux1.


Figura 54. Al doilea port al blocului Demux1.

Vom exemplifica utilizarea blocurilor Mux i Demux la un model ce integreaz ecuaia diferenial
x'' + 3x' + 2x = 0
n condiiile iniiale x
0
=1 i x
0
'
=0.
Ieirile blocului Integrator vor fi x i x', iar intrrile vor fi x' i x'' unde
x'' = -3x' 2x
Vom crea o magistral cu semnalele x i x cu un bloc Mux, ce va fi introdus la intrarea blocului
integrator. Condiia iniial pentru elementul integrator este vectorul coloan [1 0]'. Pentru a crea
semnalele x i x vom utiliza un bloc Demux ce extrage din magistral semnalele x i x. Modelul
ecuaiei difereniale este cel din Figura 55. Parametrul Bus selection mode nu este marcat, deci blocul
Demux lucreaz n modul Vector. Parametrul Number of outputs are valoarea doi.

45

Figura 55. Modelul ecuaiei difereniale x'' + 3x' + 2x = 0.

Intrarea n blocul Scope este ieirea integratorului, vectorul [x x]. Dimensiunea semnalelor
multidimensionale este afiat selectnd un semnal i executnd clic pe opiunea Signal dimensions a
meniului Format. Semnalele multidimensionale sunt desenate ngroat, selectnd un semnal i
executnd clic pe opiunea Wide nonscalar lines a aceluiai meniu. Rezultatul simulrii modelului
este cel din Figura 18.
2.6 Blocurile Bus Creator i Bus Selector
Un bus (magistral) este un semnal compus ce are o structur ierarhic. Semnalele componente pot fi,
la rndul lor, semnale compuse i pot fi de tipuri diferite. Pentru a lucra cu semnale compuse de tip
bus, exist trei blocuri: Blocul Bus Creator creaz un semnal tip bus din semnalele de la intrarea sa.
Blocul Bus Selector selecteaz semnalele din bus. Blocul Bus Assignment atribuie valori semnalelor
din bus. Ele sunt simbolizate ca n Tabelul 19 i se gsesc n biblioteca Signal Routing.

Bloc Simbolizare
Bus Creator

Bus Selector

Bus Assignment

Tabelul 19. Blocurile Bus Creator, Bus Selector, Bus Assignment.

2.6.1 Crearea unui bus
Blocul Bus Creator creaz un bus din semnalele de la intrrile sale. Fiecare semnal are un nume,
atribuit de bloc (implicit), sau de utilizator. Semnalul poate avea numele semnalului conectat la intrare
(implicit), sau alt nume.
46
Vom exemplifica utilizarea blocului Bus Creator pe modelul din Figura 56, n care crem un bus cu
dou semnale, unul cu dimensiunea unu, creat de blocul Pulse Generator, altul cu dimensiunea doi,
creat de blocul Sine Wave.


Figura 56. Crearea unei magistrale (bus).
Blocul Bus Creator are caseta cu parametri din Figura 57.
In caseta Number of inputs introducem numrul de semnale, care este numrul de intrri n bloc.
Numele semnalelor apar n lista Signals in bus. Aceste nume se aleg astfel:
dac n lista din zona Parameters alegem opiunea Inherit bus signal name from input ports,
blocul atribuie semnalelor numele semnalelor conectate la porturi, sau numele inplicite signal1,
signal2, , dac aceste semnale nu au nume.
dac alegem opiunea Require input signal names to match signals below, putem alegem
numele dorite pentru semnale.
Pentru a modifica numele unui semnal se procedeaz astfel:
1. selectm opiunea Require input signal names to match signals below,
2. selectm semnalul n lista Signals in bus,
3. n lista Rename selected signal se introduce noul nume al semnalului,
4. clic pe butonul Apply.


47

Figura 57. Caseta cu parametrii a blocului Bus Creator.

Putem afla sursa unui semnal selectnd semnalul cu un clic i apoi clic pe butonul Find. In Figura 58
este afiat sursa semnalului signal1


Figura 58. Afiarea sursei unui semnal.
48
2.6.2 Selectarea semnalelor din bus
Blocul Bus Selector selecteaz semnalele din bus. Selectarea semnalelor la ieiri se face n caseta cu
parametrii blocului din Figura 59. In lista Signals in the bus sunt afiate semnalele din bus cu numele
lor, n ordinea n care au fost introduse n bus. In lista Selected signals sunt semnalele selectate pentru
fiecare ieire, n ordinea dorit. Implicit, semnalele la ieiri au ordinea din bus. Selectarea semnalelor
la ieiri, n ordinea n care vrem se face astfel:
1. se selecteaz un semnal n caseta Signals in the bus,
2. clic pe butonul Select, .
Se poate terge un semnal din lista Selected Signals selectndu-l n lista Selected signals i apoi clic
pe butonul .
Se poate naviga prin semnalele din lista Selected signals cu butoanele Up, i Down,
.


Figura 59. Caseta cu parametri a blocului Bus Selector.


49
3. Blocuri pentru generarea i analiza semnalelor
3.1 Blocuri pentru generarea semnalelor
In Simulink exist blocuri de semnal pentru generarea de semnale standard : treapt, ramp, sinusoid,
zgomote aleatoare cu distribuie uniform i gaussian, etc. Cteva din aceste blocuri sunt prezentate n
Tabelul 20. Ele se gsesc n biblioteca Sources.

Bloc Simbolizare
Ceasul simulrii

Constant

Treapt

Ramp

Generator de zgomot uniform

Generator de zgomot gaussian

Generator sinusoidal

Generator de impulsuri

Generator de zgomot alb cu
band limitat

Tabelul 20. Blocuri de generare a semnalelor.

O descriere a acestor blocuri este urmtoarea:
blocul Ceasul simulrii genereaz timpul simulrii,
blocul Constant genereaz o constant care poate fi scalar, vector sau matrice,
blocul Treapt (Step), genereaz semnale treapt, scalare, vectori sau matrice. Pentru fiecare
semnal se prescriu parametrii valoarea iniial, final i momentul saltului,
blocul Ramp genereaz semnale ramp scalare, vectori sau matrice. Pentru fiecare semnal se
prescriu parametrii momentul de ncepere, panta i valoarea iniial a semnalului,
blocul Generator de zgomot uniform genereaz zgomote aleatoare uniforme scalare, vectori sau
matrice. Pentru fiecare semnal se prescriu parametrii valoarea minim i maxim. Semnalele
necesit un parametru suplimentar, un numr natural impar,
blocul Generator de zgomot gaussian genereaz zgomote aleatoare gaussiene scalare, vectori
sau matrice. Pentru fiecare semnal se prescriu parametrii valoarea medie i dispersia. Semnalele
necesit un parametru suplimentar, un numr natural impar.
blocul Generator sinusoidal (Sin Wave), genereaz semnale sinusoidale, scalare, vectori sau
matrice. Pentru fiecare semnal se prescriu parametrii amplitudine, faza (rad) i frecvena (rad/s),
blocul Generator de impulsuri genereaz trenuri de impulsuri scalare, vectori sau matrice.
Pentru fiecare semnal se prescriu parametrii amplitudine, perioada (s), limea impulsului (%
din perioad) i ntrzierea de faz (s),
blocul Generator de zgomot alb cu band limitat genereaz zgomot alb gaussian.
50
3.2 Blocuri pentru analiza semnalelor
Blocurile de analiza semnalelor sunt cele din Tabelul 21. Ele sunt definite n biblioteca Simulink
Extras / Additional Sinks.

Bloc Simbolizare
Autocorelaie

Corelaie

Analizor de spectru

Tabelul 21. Blocuri de analiza semnalelor.
Menionm c, pentru toate blocurile ce nu sunt definite n biblioteca Simulink, vezi Figura 5, putem
afia biblioteca unui bloc n felul urmtor:
1. se selecteaz bloc,
2. clic pe Edit Link Options Go To Library Block, sau pe opiunile Link Options Go
To Library Block ale meniului contextual al blocului.
De exemplu, biblioteca Simulink Extras / Additional Sinks din Figura 60, se afiaz cu clic pe blocul
Cross Correlator din Figura 61.


Figura 60. Biblioteca Simulink Extras / Additional Sinks.

Primul exemplu de utilizare a blocurilor de semnal este calculul corelaiei a dou semnale sinusoidale,
sin(2t) i sin(2t) + n(t), unde n(t) este zgomot alb gaussian cu valoare medie nul i dispersia unu.
Modelul sistemului este cel din Figura 61. Corelaia este calculat de blocul Cross Correlator care are
ca intrri cele dou semnale. Funcia de corelaie este cea din Figura 62.

51

Figura 61. Calculul corelaiei a dou semnale sinusoidale.


Figura 62. Corelaia a dou semnale sinusoidale.

Al doilea exemplu este calculul funciei de autocorelaie a unui semnal sinusoidal. Funcia de
autocorelaie a unui semnal se definete ca
( ) ( ) ( )


+ =
P
P
P
dt t f t f
P
R
2
1
lim

52
In cazul unei funcii periodice, se arat c se poate calcula integrala doar pe o perioad. Pentru funcia
( ) ( ) t A t f
c
sin =
Funcia de autocorelaie este:
( ) ( )
c
A
R cos
2
2
=
Fie de calculat funcia de autocorelaie pentru semnalul ( ) ( ) t t f 2 sin = .
Modelul este cel din Figura 63, iar rezultatul este cel din Figura 64.


Figura 63. calculul autocorelaiei unui semnal sinusoidal.

53

Figura 64. Autocorelaia unui semnal sinusoidal.

Al treilea exemplu este analiza spectrului semnalului la ieirea unei funcii de transfer. Modelul este
cel din Figura 65, iar spectrul este cel din Figura 66.
Parametrii blocului Band Limited White Noise sunt puterea zgomotului = 0.1, timpul de eantionare
0.1s. Parametrii blocului Spectrum Analyzer sunt dimensiunea transformatei Fourier 256 puncte,
timpul de eantionare 0.1s.


Figura 65. Analiza spectrului unei funcii de transfer.

54

Figura 66. Spectrul unei funcii de transfer.

Vom reprezenta caracteristicile logaritmice de frecven ale funciei de transfer de mai sus.
crem un obiect funcie de transfer

>> M = [1];
>> N = [1 1];
>> tfa = tf(M, N);
>> tfa

Transfer function:
1
-----
s + 1

reprezentm grafic caracteristicile amplitudine i faz la scar logaritmic

>> bode(tfa)
>> grid

Rezultatul este cel din figura 67.

55

Figura 67. Caracteristicile logaritmice ale funciei de transfer 1 / (s + 1).

3.3 Analiza modelelor la diverse intrri
Aplicaia Signal & Scope Manager ne permite s aplicm la intrarea unui model diverse intrri i s
observm ieirea.
Aplicaia se lanseaz cu clic pe Tools Signal & Scope Manager al ferestrei editorului de modele.
Fereastra aplicaiei este cea din Figura 68. In partea stng exist fereastra Types cu tipurile de
elemente generatoare de semnal i elemente de afiare a semnalelor. In partea dreapt sus exist
fereastra Generators / Viewers in model, cu seciunile Generators i Viewers cu liste cu generatoarele
de semnal i elemente de afiare a semnalelor ataate modelului. Fereastra are trei butoane:
Open parameters for selection, , care afiaz caseta cu parametri a elementului selectat,
Edit signal connection for selection, , care afiaz caseta Port Selector pentru elementul
selectat. In aceast caset alegem elemental din model la care conectm generatorul de semnal
sau elementul de afiare selectat,
Delete selection, , care terge generatorul de semnal sau elementul de afiare selectat.
In dreapta jos este lista Signals connected to generator / Viewer. La un clic pe un generator de
semnal / element de afiare se afiaz semnalele conectate la generatorul de semnal / elementul de
afiare.

56

Figura 68. Fereastra aplicaiei Signal & Scope Manager.

Fie de exemplu, modelul din Figura 69, la care aplicm o treapt unitar i nregistrm ieirea.


Figura 69. Model testat la intrare treapt.

Se adaug un generator de semnal la model astfel:
1. se expandeaz nodul Simulink i clic pe Constant,
2. clic pe butonul Attach to model. In seciunea Genarators apare blocul (generatorul de
semnal) Constant1. In lista Signals connected to generator / Viewer se arat c ieirea
blocului de semnal nu este conectat, vezi Figura 70,

57

Figura 70. Ataarea unui generator de semnal la model.

3. clic pe butonul Edit signal connection for selection, , care afiaz caseta Port Selector
pentru elementul selectat. In fereastra din dreapta apar blocurile din model i se selecteaz cel
la a crui intrare se aplic semnalul, vezi Figura 71,


Figura 71. Fereastra Port Selector pentru generatorul de semnal.

In lista Signals connected to generator / Viewer se arat c ieirea blocului de semnal este conectat
la intrarea elementului Transfer Fcn, vezi Figura 72.

58

Figura 72. Generator de semnal conectat la model.

Se procedeaz n acelai mod i pentru elementul Scope:
1. se expandeaz nodul Simulink i clic pe Scope,
2. clic pe butonul Attach to model,
3. clic pe butonul Edit signal connection for selection, , care afiaz caseta Port Selector
pentru elementul selectat. In fereastra din dreapta apar blocurile din model i se selecteaz cel
la a crui ieire se afiaz, vezi Figura 73,


Figura 73. Fereastra Port Selector pentru elemental de afiare a semnalelor.

Modelul cu generatorul de semnal ataat este cel din Figura 74.

59

Figura 74. Modelul cu generatorul de semnal ataat.

Se simuleaz modelul. Se afiaz fereastra aplicaiei Signal & Scope Manager i clic pe butonul Open
parameters for selection, . Reazultatul simulrii este cel din Figura 75.


Figura 75. Ieirea elementului Transfer Fcn.

Un generator de semnal are meniul contextual din Figura 76. Cu acest meniu putem modifica
proprietile generatorului, deconecta sau terge generatorul, etc.


Figura 76. Meniul contextual al unui generator de semnal.
60
Ca un alt exemplu, fie blocurile tip Transfer Fcn din Figura 77 la intrarea crora aplicm acelai
semnal treapt.


Figura 77. Model cu generator de semnal ataat.

Ieirile celor dou elemente la acelai semnal treapt unitar sunt cel din Figura 78.


Figura 78. Ieirile elementelor Transfer Fcn.
61
4. Blocuri de calcul
Simulink are blocuri de calcul ce realizeaz operaiile aritmetice i funciile matematice uzuale din
Matlab. Cteva dintre ele sunt prezentate n Tabelul 22. Ele se gsesc n biblioteca Math Operations.

Bloc Simbolizare
Valoare absolut

Gain

Funcie matematic

Reshape

Produs

Produs scalar

Funcie trigonometric

Sumator

Tabelul 22. Blocuri de calcul.

Blocul Abs calculeaz valoarea absolut a intrrii.
Blocurile Gain, Matrix Gain i Sumator au fost prezentate anterior.
Blocul Reshape redimensioneaz o matrice.
Blocul Produs nmulete sau mparte intrrile. Intrrile pot fi scalare, vectori sau matrice. Operaia se
poate realiza :
element cu element (Element-wise),
matricial (Matrix) .
Intrrile trebuie s aibe dimensiuni compatibile cu operaia realizat : n primul caz compatibile pentru
operaia element cu element, n al doilea caz intrrile trebuie s aib dimensiuni compatibile pentru
nmulirea matricelor sau pentru nmulirea cu matricea invers.
In exemplul din Figura 79 se mpart dou mrimi scalare.


Figura 79. Inprirea a dou mrimi.
62

Figura 80. Caseta de dialog cu parametrii elementului Produs.

In caseta de text Number of inputs se introduce pentru fiecare intrare * pentru nmulire i / pentru
mprire. In cazul n care n caseta de text Multiplication se alege opiunea Matrix se face nmulirea
matricial a intrrilor n cazul operaiei de nmulire (*), sau nmulirea cu inversa n cazul operaiei de
mprire (/). In cazul cnd toate intrrile se inmulesc, n caseta de text Number of inputs se poate
scrie doar numrul intrrilor.
In exemplul de mai sus parametrul Number of inputs are valoarea */ deoarece intrrile se mpart.
Blocul Produs scalar, (Dot product), calculeaz produsul scalar al celor dou intrri. Intrrile pot fi
vectori linie sau coloan sau scalari.
Blocul Funcie trigonometric realizeaz funcii trigonometrice sau hiperbolice. Funciile disponibile
sunt cele din caseta Function artate n Figura 81.


Figura 81. Caseta de dialog cu parametrii blocului Funcie trigonometric.

Blocul Funcie matematic poate realiza funciile din Figura 82. Intrarea blocului poate fi scalar,
vector sau funcie. Blocul aplic funcia ales asupra fiecrui element al intrrii.

63

Figura 82. Caseta de dialog cu parametrii blocului Funcie matematic.

Vom exemplifica aplicarea blocului calculnd ln(a) pentru matricea
a = [1 2; 3 4]
Rezultatul este prezentat n Figura 83.


Figura 83. Calculul matricei ln(a).



64
5. Blocuri neliniare
Matlab definete blocuri neliniare corespunznd neliniaritilor des ntlnite: saturaie, relee, zon
moart, etc. Cteva din blocurile neliniare existente sunt cele din Tabelul 23. Ele se gsesc n
biblioteca Discontinuities.

Bloc Simbolizare
Saturaie

Releu

Zon moart

Cuantizare

Tabelul 23. Blocuri neliniare.

O descriere a acestor blocuri este dat n continuare.
blocul Saturaie realizeaz o caracteristic tip saturaie. Parametrii blocului sunt limita
superioar i limita inferioar la care este limitat semnalul. Blocul poate avea mai multe intrri,
blocul Releu realizeaz o caracteristic tip releu. Parametrii blocului sunt cele dou valori
minim i maxim ale semnalului de intrare la care releul comut i cele dou valori ale ieirii
la comutare,
blocul Zon Moart realizeaz o caracteristic tip zon moart. Parametrii blocului sunt cele
dou valori limit, minim i maxim ale zonei moarte.
blocul Cuantizare realizeaz o caracteristic de cuantizare. Parametrul blocului este intervalul
de cuantizare.
Vom exemplifica utilizarea blocurilor neliniare prin simularea sistemului din Figura 84. In primul caz
vom utiliza un releu ideal. Ieirea releului este +1 cnd intrarea este pozitiv i -1 cnd intrarea este
negativ. In cazul al doilea utilizm un releu cu histerezis, ieirea releului este +1 sau -1, limitele cnd
ieirea i schimb starea sunt 0.2 i respectiv -0.2. Traiectoriile de faz i ieirile sistemului pentru
cele dou tipuri de relee sunt prezentate n Tabelul 24 i Tabelul 25. Reamintim c parametrii blocului
XYGraph sunt limitele axelor. Aceti parametrii se pot prescrie n caseta respectiv afiat cu un clic
pe opiunea Mask Parameters a meniului Edit sau a meniului contextual al elementului.
Rezultatele pot fi salvate i n spaiul de lucru Matlab. Pentru aceasta se afiaz caseta Simulation
Parameters cu un clic pe opiunea Simulation parameters a meniului Simulation din Figura 85. In
seciunea Workspace I / O, zona Save to workspace se marcheaz opiunile Time i States.Valorile
momentelor la care este calculat soluia sunt scrise n vectorul tout, iar valorile soluiei la aceste
momente n matricea xout pe coloane.
Figura 86 prezint traiectoria de faz a sistemului trasat n Matlab cu instruciunea
plot(xout(:, 1), xout(:, 2))

65

Figura 84. Sistem neliniar.


a) releu ideal b) releu cu histerezis
Tabelul 24. Traiectoria de faz a sistemului din Figura 84 pentru dou tipuri de relee.


a) releu ideal b) releu cu histerezis
Tabelul 25. Rspunsul sistemului din Figura 84 pentru dou tipuri de relee.

66

Figura 85. Caseta Simulation Parameters.


Figura 86. Traiectoria de faz a sistemului din Figura 84 in cazul releului ideal.

Dou blocuri ce modeleaz convertoare analog-numerice, (CAN), i numeric-analogice, (CAN), sunt
cele din Tabelul 26. Ele se gsesc n biblioteca Signal Processing Blockset / Quantizers.

Bloc Simbolizare
Decoder uniform (CNA)

Encoder uniform (CAN)

Tabelul 26. Convertoare analog-numerice i numeric analogice.
67
Blocul Encoder uniform, (CAN), are la intrare un semnal continuu, iar la ieie un numr binar.
Parametrii blocului sunt numrul de bii ai ieirii, 8, 16 sau 32 i tipul ieirii numr cu semn sau fr
semn.
Blocul Decoder uniform, (CAN), are la intrare un numr ntreg i la ieire un semnal continuu.
Parametrii blocului sunt numrul de bii, 8, 16 sau 32 i valoarea de vrf corespunztoare numrului
maxim la intrare (Peak).
Un exemplu de conversie analog-numeric i apoi numeric analogic a unui semnal este cel din
Figura 87. Numrul de bii ale celor dou convertoare s-a ales opt. Valoarea de vrf a blocului Decoder
uniform este unu, egal cu amplitudinea sinusoidei generate de blocul Sine Wave.


Figura 87. Utilizarea blocurilor Decoder uniform i Encoder uniform.

Semnalul generat de blocul Sine Wave este artat n Figura 88.

Figura 88. Semnalul de intrare generat de blocul Sine Wave.

68
Semnalul de la ieirea blocului Encoder uniform este artat n Figura 89. Valoarea lui este cuprins
ntre [-128, +127] corespunznd celor 8 bii ai convertorului.


Figura 89. Semnalul de ieire al blocului Encoder uniform.

Semanlul de la ieirea blocului Decoder uniform este artat n Figura 90. Ieirea blocului este cuprins
ntre [-1, +1] conform valorii de vrf a ieirii blocului (parametrul Peak).

Figura 90. Semnalul de ieire al blocului Decoder uniform.

69
6. Funcii definite de utilizator
Utilizatorul poate defini propriile funcii utilizate n simulare. Pentru aceasta se utilizeaz blocurile din
Tabelul 27. Ele se gsesc n biblioteca User Defined Functions.

Bloc Simbolizare
Funcie

Funcie Matlab

Funcie utilizator

Tabelul 27. Blocuri pentru funcii definite de utilizator.

6.1 Funcii definite printr- o expresie
Utilizatorul poate defini propria funcie, ce const dintr-o expresie, cu blocul Fcn. Blocul poate avea ca
intrare un scalar sau un vector i o ieire scalar. Funcia const ntr-o singur expresie aritmetic, n
care se pot folosi funciile matematice standard din Matlab, aplicate asupra elementelor scalare ale
intrrii. Intrarea este notat cu u. Fie de exemplu u un vector de intrare linie cu dou componente. O
expresie posibil pentru blocul Fcn este
u(1) * u(1) + u(2) * u(2)
dar nu u * u.
Ca exemplu, fie de integrat ecuaia diferenial Duffing
Mx + Kx + Qx
3
=F sin(t)
n condiii iniiale nule. Parametrii ecuaiei sunt K = 10, Q = -0.4, F = 5, =10 i M = 0.041. Modelul
ecuaiei este prezentat n Figura 91. Expresia Kx + Qx
3
este realizat cu un bloc Fcn. Caseta cu
expresia blocului este artat n Figura 92. Ieirea modelului este artat n Figura 93.


Figura 91. Modelul ecuaiie difereniale Mx++Kx+Qx
3
=Fsin(t)
70

Figura 92. Funcie definit de utilizator.


Figura 93. Soluia sistemului din Figura 91.

6.2 Utilizarea funciilor Matlab
Utilizatorul poate folosi n simulare funcii Matlab definite n fiiere cu extensia m. Pentru aceasta se
introduce n model un bloc MATLAB Fcn care apeleaz o funcie Matlab. Vom exemplifica utilizarea
acestui bloc la calculul inversei unei matrice.
Vom scrie funcia Matlab din Figura 94. Dup calculul matricei inverse, aceasta este convertit la un
vector coloan cu funcia reshape, care pune coloanele ntr-un vector, una dup alta.


Figura 94. Funcie Matlab ce inverseaz o matrice.

Pentru a testa funcia din fiierul ainv.m, fie programul Matlab de mai jos, n care inversm matricea

4 3
2 1
.
71
>> a = [1 2;3 4]
a =
1 2
3 4

>> inv(a)
ans =
-2.0000 1.0000
1.5000 -0.5000

>> ainv(a)
ans =
-2.0000
1.5000
1.0000
-0.5000

Modelul pentru calculul inversei unei matrice este cel din Figura 95. In blocul Constant se definete
matricea [1 2; 3 4]. In blocul MATLAB Fcn se apeleaz funcia din fiierul ainv.m. Rezultatul blocului
este matricea invers sub forma unui vector ce conine coloanele matricei. Blocul Reshape
redimensioneaz matricea invers din vectorul furnizat de blocul MATLAB Fcn. Rezultatele sunt
afiate de cele dou blocuri Display.


Figura 95. Calculul inversei unei matrice.

Caseta cu parametrii blocului MATLAB Fcn este artat n Figura 96.
72

Figura 96. Caseta de dialog cu parametrii blocului MATLAB Fcn.


Figura 97. Caseta de dialog cu parametrii blocului Reshape.

6.3 Funcii definite de utilizator (S-Funcii)
La simularea unui model descris de un sistem de ecuaii difereniale este posibil s definim funcia ce
calculeaz derivatele (membrul drept al sistemului de ecuaii difereniale) ntr-un fiier Matlab i s
definim un bloc ce utilizeaz aceast funcie pentru a calcula soluia sistemului de ecuaii difereniale
n cadrul unui model.
Vom arta cum se rezolv ecuaiile difereniale n Matlab cu exemplul urmtor. Fie de rezolvat ecuaia
diferenial
x'' + 3 x' + 2 x = u
n condiiile iniiale x(0) = 0, x'(0) = 0 i u(t) = 1. Punem ecuaia sub forma sistemului de ordin I cu
substituiile y
1
= x, y
2
= x', i avem sistemul
u y y


=
1
0
3 2
1 0

Pentru a rezolva sistemul n Matlab cu funcia ode45(), procedm n felul urmtor. Definim o funcie
Matlab care calculeaz membrul drept al ecuaiei difereniale. Funcia are ca parametrii de intrare :
1. t, timpul la care se calculeaz derivata,
73
2. x, vector cu soluia la momentu t,
3. parametrii funciei, (opional),
Funcia pentru exemplul de mai sus este definit n fiierul sfct.m, n care u este un parametru al
funciei.

function dx = fct(t, x, u)

dx(1) = x(2);
dx(2) = -2 * x(1) - 3 * x(2) + u;
dx = dx';

Parametrii funciei ode45() ce integreaz ecuaii difereniale ordinare sunt urmtorii :
1. variabil tip handle a funciei ce calculeaz membrul drept al sistemului de ecuaii difereniale,
2. vector ce conine limitele intervalului de integrare,
3. vector cu condiiile iniiale,
4. variabil cu opiuni pentru funcia ode45(), de exemplu eroarea relativ sau absolut la
integrare, etc.,
5. vector cu parametrii ce vor fi pasai funciei ce calculeaz membrul drept al sistemului de
ecuaii difereniale.
Funcia are ca rezultat :
1. un vector coloan t, cu momentele de timp la care s-a calculat soluia,
2. matricea x ce conine pe coloane soluiile corespunztoare elementelor vectorului de stare.
Apelm funcia ode45() astfel :

ts = [0, 10]
x0 = [0 0]
[t, x] = ode45(@sfct, ts, x0, [], 1);

Ultimul parametru al funcie are valoarea 1 i el corespunde intrrii u(t) = 1.
Avem posibilitatea de a defini un bloc ce integreaz acelai sistem de ecuaii difereniale i s-l
utilizm n cadrul unui model. Blocul va apela funcia sfct ce calculeaz membrul drept al sistemului
de ecuaii difereniale la fiecare pas de integrare. Acest bloc este de tipul S-Function n Tabelul 27.
Pentru a defini un asemenea bloc procedm n felul urmtor.
Definim o funcie cu informaii despre sistemul de ecuaii difereniale ce trebuie integrat, numit n
continuare S-funcie. Funcia este apelat de Simulink la diferite momente ale simulrii. Prototipul
funciei este

function [sys, x0, str, ts] =sfcn(t, x, u, flag, p1, p2, )

switch flag

case 0 % initializare
..
case 1 % informatii despre derivate
..
case 2 % informatii in cazul sistemelor discrete
..
case 3 % informatii despre iesire

case 4 %
..
case 9 % calcule la sfarsitul simularii
..
otherwise
74
error([' unhandled flag = ', num2str(flag)]);
end

Parametrii de intrare ai funciei sunt :
t- variabila timp,
x vector cu soluia la momentul t, (variabilele de stare),
u vector cu variabilele de intrare la momentul t,
flag variabil cu valorile
0 se definesc dimensiunile vectorilor de intrare, ieire, etc. i vectorul condiiilor iniiale,
1 informaii despre derivate; funcia ce calculeaz membrul drept al sistemului de ecuaii
difereniale,
2 utilizat pentru ecuaii discrete,
3 informatii despre iesire ; se definesc ieirile n funcie de vectorul x al variabilelor de stare,
4 -
9 calcule la sfritul simulrii.
p1, p2, - parametri suplimentari ai funiei sfcn, introdui n caseta cu parametrii a blocului S-
Function.
Parametrii t, x, u, flag sunt pasai funciei de ctre Simulink.
Parametrii de ieire ai funciei sunt :
sys vector cu valori ce depind de parametrul flag, cu valorile :
0 - sys = [nsc, nsd, ne, ni, ne, nf, nst], unde :
nsc numrul de stri continue (ordinul sistemului de ecuaii difereniale),
nsd - numrul de stri discrete,
ne numrul de ieiri,
ni - numrul de intrri,
ne = 0,
nf 1 dac exist legtur direct de la intrare la ieire i 0 n caz contrar,
nst
1 sys = vectorul derivatelor sistemului de ecuaii difereniale,
2 sys = ,
3 sys = vectorul ieirilor,
4 sys = ,
9 sys = .
In cazul cnd sys este un vector vid, vom scrie sys = [].
x0 vector cu condiiile iniiale,
str = []
ts vector cu dou componente ce specific timpul de eantionare.
Informaiile din vectorul sys pentru flag = 0 se prescriu astfel. Se creaz o structur cu urmtoarele
cmpuri :
NumContStates - numrul de stri continue,
NumDiscStates - numrul de stri discrete,
NumOutputs - numrul de ieiri,
NumInputs - numrul de intrri,
DirFeedthrough - 1 dac exist legtur direct de la intrare la ieire i 0 n caz contrar,
NumSampleTimes - numrul de
Completarea vectorului sys pentru flag = 0 se face cu funcia simsizes astfel :
1. se creaz o structur s, neiniializat, cu instruciunea
s = simsizes
2. se completeaz elementele structurii s,
3. se transform valorile structurii ntr-un vector cu instruciunea
sys = simsizes(s)
In cazul nostru, funcia este cea de mai jos i este definit n fiierul sfuns.m.

function [sys, x0, str, ts] = sfuns(t, x, v, flag)
75

switch flag

case 0 % initializare
str = [];
ts = [0 0];
s = simsizes;
s.NumContStates = 2;
s.NumDiscStates = 0;
s.NumOutputs = 2;
s.NumInputs = 1;
s.DirFeedthrough = 0;
s.NumSampleTimes = 1;
sys = simsizes(s);
x0 = [0 0]; % vector cu condiiile iniiale

case 1 % informatii despre derivate
u = v; % valoarea parametrului u
sys = sfct(t, x, u); % funcia ce calculeaz derivatele

case 3 % informatii despre iesire
sys = x;

case {2 4 9}
sys = [];

otherwise
error([' unhandled flag = ', num2str(flag)]);
end

In cazul flag = 1, sys va conine vectorul derivatelor. Acesta este rezultatul funciei sfct care are ca
parametru u intrarea sistemului, u. Aceasta este chiar intrarea n bloc, parametrul v al funciei sfuns.
Avem deci instruciunile de mai jos.

case 1 % informatii despre derivate
u = v; % valoarea parametrului u
sys = sfct(t, x, u); % funcia ce calculeaz derivatele

In cazul flag = 3 sys conine vectorul ieirilor, n cazul nostru vectorul x.

case 3 % informatii despre iesire
sys = x;

Modelul este cel din Figura 98.

76

Figura 98. Model cu bloc S-Function.

Caseta cu parametrii blocului este cea din Figura 99. Numele S-funciei se introduce n caseta S-
function name. La clic pe butonul Edit, , se afiaz funcia n editorul Matlab, unde poate
fi modificat. Parametrii suplimentari ai S-funciei se introduc n caseta S-function parameters.


Figura 99. Caseta cu parametrii a blocului S-Function.

Ieirea modelului este cea din Figura 100.

77

Figura 100. Rezultatul simulrii sistemului din Figura 98.


78
7. Simularea sistemelor liniare continue cu coeficieni
constani
Vom considera sisteme descrise prin (sisteme de) ecuaii difereniale liniare cu coeficieni constani.
Acestea pot fi simulate:
construind modelul ecuaiilor difereniale ordinare, ca mai nainte,
utiliznd blocuri Transfer-Fcn ce descriu funcii i matrice de transfer,
utiliznd blocuri Zero-Pole ce descriu funcii i matrice de transfer,
utiliznd blocuri State-Space ce descriu sisteme de ecuaii difereniale liniare.
Blocurile corespunztoare sunt cele din Tabelul 28. Ele se gsesc n biblioteca Continuous.

Bloc Simbolizare
Matrice de transfer dat prin
coeficienii polinoamelor

Matrice de transfer dat prin poli
i zerouri

Ecuaii de stare

Tabelul 28. Blocuri de simulare a sistemelor liniare continue cu coeficieni constani.

Exemplu. S calculm soluia ecuaiei difereniale ordinare
x'' + 3x' + 2x = 1
n condiii iniiale nule, pe o durat de 5s.
Modelul, construit cu elemente Integrator, Sum i Gain ca mai sus, este artat n Figura 101. Treapta
unitar este generat de un bloc Constant.


Figura 101. Modelul ecuaiei difereniale ordinare x''+3x'+2x=1.

Rezultatul simulrii modelului este cel din Figura 102.

79

Figura 102. Rezultatul simularii sistemului din Figura 101.

7.1 Blocul Transfer Fcn
Blocul Transfer Fcn poate simula sisteme liniare descrise printr-o funcie sau matrice de transfer. Fie
din nou ecuaia diferenial
x'' + 3x' + 2x = 1
S calculm soluia ecuaiei difereniale n condiii iniiale nule.Funcia de transfer corespunztoare
ecuaiei este
( )
2 3
1
2
+ +
=
s s
s H
Modelul corespunztor din Figura 103 este construit cu blocul Transfer Fcn.


Figura 103. Modelul unei funcii de transfer.
80
Pentru a prescrie numrtorul i numitorul funciei de transfer se execut un clic cu butonul drept pe
bloc i se afiaz caseta de dialog din Figura 104.


Figura 104. Caseta de dialog cu parametrii blocului Transfer Fcn.

Polinomul de la numitor se definete prin vectorul coeficienilor n ordinea descresctoare a puterilor
lui s. Numrtorul funciei de transfer este definit n acelai fel, aici o matrice de dimensiune 1.
Rezultatul simulrii este cel din Figura 102.
Blocul Transfer Fcn poate modela i matrice de transfer corespunznd unui sistem cu o intrare i mai
multe ieiri la care funciile de transfer corespunztoare canalelor intrare ieire au acelai numitor. In
acest caz numrtorul este o matrice, cu numrul de linii egal cu numrul de ieiri. Numitorul este
vectorul corespunztor polinomului numitorului comun al tuturor canalelor intrare - ieire, cu
coeficienii dai n ordinea descresctoare a puterilor lui s. Polinoamele numrtorilor fiecrui canal
intrare ieire trebuie s aib acelai grad. Aceste polinoame sunt date tot n ordinea descresctoare a
puterilor lui s, n liniile matricei de la numrtor.
Fie de exemplu matricea de transfer
( )

+
+
+ +
=
1
2
2 3
1
2
s
s
s s
s H
Vom simula aceast matrice de transfer la intrare treapt n condiii iniiale nule. Modelul este cel din
Figura 105.

81

Figura 105. Simularea unei matrice de transfer.

Caseta de dialog cu parametrii blocului este cea din Figura 106. Aceti parametrii sunt n cazul
numrtorului matricea
[1 2; 1 1]
iar n cazul numrtorului vectorul
[1 3 2]
Rezultatul simulrii este prezentat n Figura 107.


Figura 106. Caseta de dialog cu parametrii blocului Transfer Fcn.

82

Figura 107. Rezultatul simulrii unei matrice de transfer.

Pentru a calcula valoarea staionar a ieirilor se poate aplica teorema valorii finale a transformatei
Laplace. Transformata Laplace a intrrii este
( )
s
s U
1
=
Transformata Laplace a ieirii este
( ) ( ) ( )

+
+
+ +
= =
1
2
2 3
1 1
2
s
s
s s
s
s U s H s Y
( )

5 . 0
1
1
2
2
1
lim
0
s sY
s


7.2 Blocul Zero-Pole
Blocul Zero-Pole poate simula sisteme liniare descrise printr-o matrice de transfer.
Exemplu. Fie din nou ecuaia diferenial
x'' + 3x' + 2x = 1
S calculm soluia ecuaiei difereniale n condiii iniiale nule. Funcia de transfer corespunztoare
ecuaiei difereniale este
( )
2 3
1
2
+ +
=
s s
s H
Pentru modelarea funciei de transfer vom folosi blocul Zero-Pole care are ca parametrii polii,
zerourile i factorul de amplificare ale funciei de transfer. Modelul corespunztor este cel din Figura
108.
Caseta de dialog a blocului Zero-Pole este artat n Figura 109. In exemplu polii funciei de transfer
sunt -1 i -2. Factorul de amplificare are valoarea 1. Deoarece nu avem nici un zero, matricea
corespunztoare zerourilor este [].

83

Figura 108. Modelul unei funcii de transfer.


Figura 109. Parametrii blocului Zero-Pole.

Blocul poate modela i o matrice de transfer a unui sistem cu o intrare i mai multe ieiri. In acest caz
numrtorul este o matrice, cu numrul de linii egal cu numrul de ieiri la care funciile de transfer
corespunztoare canalelor intrare ieire au acelai numitor. Numitorul este un vector ce conine polii
corespunztori canalelor intrare ieire. Deoarece funciile de transfer corespunztoare canalelor
intrare ieire au acelai numitor, polii sunt comuni. Zerourile sunt elementele unei matrice, fiecare
linie a matricei conine zerourile corespunztoare unui canal intrare-ieire. Factorii de amplificare
pentru fiecare canal intrare-ieire sunt elementele unui vector.
84
7.3 Blocul State-Space
Exemplu. Fie din nou ecuaia diferenial
y'' + 3y' + 2y = 1
S calculm soluia ecuaiei difereniale n condiii iniiale nule.Vom scrie ecuaia diferenial sub
forma unui sistem de ecuaii difereniale de ordinul I, liniar i cu coeficieni constani de forma:
x' = Ax + Bu
y = Cx + Du
Cu substituiile:
y = x
1

y' = x
2
avem


=
3 2
1 0
A

=
1
0
B [ ] 0 1 = C [ ] 0 = D
Blocul utilizat n acest caz este State-Space. Modelul este cel din Figura 110.


Figura 110. Modelul unui sistem de ecuaii difereniale ordinare cu coeficieni constani.

Parametrii blocului State-Space sunt artai n Figura 111. Ei sunt cele patru matrice, A, B, C, D i
condiiile iniiale, vectorul x
0
. Rezultatul simulrii este cel din Figura 102.

85

Figura 111. Parametrii blocului State-Space.

Este posibil ca parametrii blocului State-Space s fie citii din spaiul de lucru Matlab. Pentru acesta
parametrii sunt definii ca nite variabile n spaiul Matlab i n caseta de dialog cu parametrii blocului
se introduc aceste variabile n locul valorilor numerice.
Fie de exemplu parametrii modelului de mai sus definii n spaiul de lucru Matlab astfel :

>> A = [0 1; -2 -3];
>> B = [0; 1];
>> C = [1 0];
>> D = 0;
Caseta de dialog cu parametrii blocului este cea din Figura 112.


Figura 112. Caseta de dialog cu parametrii blocului State-Space.
86
8. Crearea de subsisteme
Simulink permite crearea de subsisteme care pot fi utilizate n mai multe locuri n sistem.
8.1 Crearea unui subsistem prin inserarea unui bloc Subsystem
Un mod de a crea un subsistem este prin inserarea unui bloc Subsystem simbolizat ca n Figura 113.
La un clic pe acest bloc se deschide ferestra subsistemului n care se adaug blocurile ce formeaz
subsistemul. Iniial subsistemul conine un bloc Inport ce constituie intrarea subsistemului, conectat la
un bloc Outport ce constituie ieirea subsistemului, ca n Figura 113.



Figura 113. Blocul Subsystem.

Un subsistem poate avea oricte intrri i ieiri. Blocurile Inport reprezint intrrile n subsistem,
blocurile Outport reprezint ieirile din subsistem, vezi Tabelul 29.

Bloc Simbolizare
Inport

Outport

Tabelul 29. Blocurile Inport i Outport.
Ele se gsesc n biblioteca Ports & Subsystems.
Vom exemplifica crearea unui subsistem ce modeleaz funcia de transfer
1 + Ts
k

Vom scrie ecuaia diferenial corespunztoare funciei de transfer
) ( ) ( ) ( ' t u k t y t Ty = +
87
de unde deducem expresia derivatei
( ) ) ( ) (
1
) ( ' t y t ku
T
t y =
Subsistemul va avea o intrare, u(t) i doi coeficieni, k i T i este cel din Figura 114.


Figura 114. Subsistem ce modeleaz funcia de transfer k/(Ts+1).

Pentru a prescrie parametrii k i T putem proceda n dou moduri:
se deschide fereastra subsistemului i se afiaz caseta de parametri a elementelor Gain n care
se introduc valorile dorite,
se definete o caseta de dialog a subsistemului n care se prescriu toi parametrii subsistemului.
Definirea unei casete de dialog a subsistemului
Subsistemul va avea o caset de dialog definit de programator pentru prescrierea celor doi parametri,
k i T. In consecin, parametrii celor dou blocuri Gain sunt variabile, k i respectiv 1/T.


Figura 115. Parametrii blocurilor Gain ale subsistemului din Figura 114.

Un subsistem odat creat poate fi deschis astfel:
1. se selecteaz blocul cu un clic,
2. clic pe opiunea Open block a meniul Edit.
Alternativ se procedeaz astfel:
88
1. se afiaz meniul contextual din Tabelul 30,
2. clic pe opiunea Open block sau pe opiunea Open block in new window.


a) meniul Edit b) meniu contextual
Tabelul 30. Afiarea unui subsistem.



a) meniul Edit b) meniu contextual
Tabelul 31. Creare casetei de dialog a unui subsistem.

89
Definirea casetei de dialog a subsistemului, n care se prescriu coeficienii k i T se face astfel :
1. se deschide caseta de dialog a editorului Mask din Figura 116 cu un clic pe opiunea Mask
subsystem a meniului Edit sau a meniului contextual din Tabelul 31,
2. se afiaz seciunea Parameters a casetei de dialog din Figura 117,
3. n tabelul Dialog parameters din Figura 117 se introduc n coloana Prompt numele
parametrilor i n coloana Variable numele variabilelor din modelul subsistemului ; acestea vor
aprea n caseta de dialog a subsistemului.


Figura 116. Caseta de dialog a editorului Mask, seciunea Icon.

In cazul subsistemului din exemplu, tabelul Dialog parameters se completeaz ca n Figura 117.
Pentru inserarea unei linii, tergerea unei linii i navigarea ntre liniile tabelei se utilizeaz butoanele
din Tabelul 32. Caseta de dialog a subsistemului este cea din Figura 118.

90

Figura 117. Caseta de dialog a editorului Mask, seciunea Parameters.

Buton Funcie

Creaz o nou linie n tabel

Sterge linia selectat din tabel

Selecteaz linia precedent

Selecteaz linia urmtoare
Tabelul 32. Butoanele editorului Mask, seciunea Parameters.


Figura 118. Caseta de dialog a subsistemului din Figura 114.

Vom utiliza subsistemul creat pentru a modela sistemul din Figura 119.

91

Figura 119. Sistem de reglare.

Vom studia stabilitatea sistemului cu metoda locului rdcilor. Vom determina polinoamele de la
numrtor i de la numitor. Pentru nmulirea polinoamelor de la numitor se utilizeaz funcia conv.

num = [1];
den1 = conv([0.1 1], [0.05 1]) ;
den = [den1 0];
rlocus(num, den) ;

Locul rdcinilor sistemului este cel din Figura 120.


Figura 120. Locul rdcilor sistemului din Figura 119.

Rspunsul sistemului la intrare treapt pentru factorul de amplificare din Figura 119 este cel din Figura
121.
92

Figura 121. Rspunsul sistemului din Figura 119 la intrare treapt.

In cazul n care factorul de amplificare se modific dup cum se arat n Figura 122, se obine
rspunsul din Figura 123.


Figura 122. Sistem de reglare.


Figura 123. Rspunsul sistemului din Figura 122 la intrare treapt.

Un model ce conine subsisteme este un model ierarhic ce poate fi reprezentat sub forma unui arbore
ca n Figura 124. Acesta se face clic pe View Model Browser Options Model Browser. La un
clic pe un subsistem din arbore se afiaz modelul subsistemului ntr-o fereastr separat.
93

Figura 124. Reprezentarea unui model cu subsisteme.

8.2 Crearea unui subsistem prin gruparea blocurilor
Un alt mod de a crea un subsistem este acele de a grupa blocurile unui model ce vor constitui un
subsistem. Ca exemplu, vom crea un subsistem ce modeleaz funcia de transfer
1 + Ts
k


Subsistemul va avea trei intrri, u(t) i coeficienii k i T. Vom construi modelul sistemului i al
subsistemului ca mai jos :
1. se construiete modelul parial al sistemului din Figura 125 n care s-a reprezentat i blocurile
ce vor constitui subsistemul,
2. se ncadreaz ntr-un dreptunghi blocurile subsistemului i conexiunile ntre ele cu butonul
stng al mousului apsat,
3. se selecteaz opiunea Create subsystem a meniului Edit; Simulink creaz un subsistem ca n
Figura 126,
4. se copiaz subsistemul unde este necesar i rezult modelul din Figura 119.
In modelul parial al sistemului am introdus un bloc Outport cu numele Out1 doar pentru a marca
semnalul de ieire ce va fi selectat. Dup crearea subsistemului el va fi ters.
94

Figura 125. Modelul parial al sistemului n care s-a reprezentat subsistemul.


Figura 126. Subsistem creat de Simulink.
95

Figura 127. Modelul sistemului din Figura 119.

Subsistemul creat de Simulink este artat n Figura 128.


Figura 128. Modelul subsistemului k/(Ts+1).
96
9. Descrierea fiierului creat de editorul de modele
Editorul de modele creaz un fiier cu extensia mdl din modelul sistemului n care sunt descrise
interfaa grafic i caracteristicile elementelor.
Vom prezenta fiierul creat de editorul de modele pentru modelul din Figura 11, repetat n Figura 129.


Figura 129. Modelul ecuaiei difereniale ordinare x'' + 3x' + 2x = 0.

Pentru fiecare bloc din model este definit o structur Block ce conine:
tipul blocului, BlockType,
numele atribuit de programator, Name,
parametrii blocului din caseta Block Parameters: InitialCondition, Gain, etc.,
numrul de porturi de intrare i de ieire, Ports,
i informaii pentru desenare:
poziia n cadrul desenului, Position,
orientarea, Orientation.
Mai jos sunt artate structurile pentru trei blocuri din model.

Bl ock {
Bl ockType Gai n
Name " Gai n1"
Posi t i on [ 170, 135, 200, 165]
Or i ent at i on " l ef t "
Gai n " 3"
}

Bl ock {
Bl ockType I nt egr at or
Name " I nt egr at or 1"
Por t s [ 1, 1]
Posi t i on [ 260, 85, 290, 115]
I ni t i al Condi t i on " 1"
Por t {
Por t Number 1
Name " x"
97
Test Poi nt of f
Li near Anal ysi sOut put of f
Li near Anal ysi sI nput of f
RTWSt or ageCl ass " Aut o"
Dat aLoggi ng of f
Dat aLoggi ngNameMode " Si gnal Name"
Dat aLoggi ngDeci mat eDat a of f
Dat aLoggi ngDeci mat i on " 2"
Dat aLoggi ngLi mi t Dat aPoi nt s of f
Dat aLoggi ngMaxPoi nt s " 5000"
}
}

Bl ock {
Bl ockType Sum
Name " Sum"
Por t s [ 2, 1]
Posi t i on [ 120, 90, 140, 110]
ShowName of f
I conShape " r ound"
I nput s " - - "
I nput SameDT of f
Out Dat aTypeMode " I nher i t vi a i nt er nal r ul e"
}

Editorul definete o structur Line pentru sgeile ce conecteaz blocurile n care se nscriu:
blocul surs SrcBlock i portul surs ScrPort,
blocul destinaie DstBlock i portul destinaie DstPort,
numele semnalului Name, dac exist.
Mai jos sunt artate structurile pentru dou linii, prima fr ramificaii, ce conecteaz blocul Sum cu
blocul Integrator2 i a doua cu ramificaii, ce conecteaz blocul Integrator2 cu blocurile Integrator1 i
Gain1.

Li ne {
Sr cBl ock " Sum"
Sr cPor t 1
Dst Bl ock " I nt egr at or 2"
Dst Por t 1
}

Li ne {
Name " x' "
Label s [ 0, 0]
Sr cBl ock " I nt egr at or 2"
Sr cPor t 1
Poi nt s [ 20, 0]
Br anch {
Dst Bl ock " I nt egr at or 1"
Dst Por t 1
}
Br anch {
Poi nt s [ 0, 50]
Dst Bl ock " Gai n1"
Dst Por t 1
}
}


98
10. Secvena de calcul a elementelor modelului
Fie de integrat ecuaia diferenial
x = f(x, t) x(0) = x
0

care corespunde modelului din Figura 130.

Figura 130. Modelul unei ecuaii difereniale.
Presupunem c utilizm pentru integrare formula lui Euler cu pasul de integrare h.
Integrarea ecuaiei se face astfel:
se calculeaz derivate la momentul 0
( ) ( ) 0 , 0 '
0
x f x =
se calculeaz soluia la momentul h
( ) ( ) ( ) 0 ' 0 x h x h x + =
se calculeaz derivate la momentul h
( ) ( ) ( ) h h x f h x , ' =
se calculeaz soluia la momentul 2 h
( ) ( ) ( ) h x h h x h x ' 2 + =

ceea ce corespunde calculului tuturor blocurilor din model ce nu sunt integratoare la momentul t
n
= n
h, urmat de calculul ieirilor integratoarelor la momentul t
n+1
=t
n
+h.
Considernd un model oarecare, trebuie s calculm la fiecare pas de integrare:
1. ieirile elementelor din model ce nu sunt integratoare (ceea ce nseamn calculul intrrilor
integratoarelor la momentul t
n
= n h),
2. urmeaz calculul ieirilor integratoarelor la momentul t
n+1
=t
n
+h prin aplicarea formulei de
integrare.
Pentru calcului elementelor din model ce nu sunt integratoare aplicaia Simulonk trebuie s deduc
secvena n care se calculeaz aceste elemente.

Alegerea secvenei de calcul a elementelor unui model

Secvena corect de calcul a elementelor unui model asigur c ieirea fiecrui element al modelului la
momentul t este calculat pe baza valorilor intrrilor elementului la acelai moment t. Considernd
momentul t = 0, la acest moment sunt cunoscute ieirile integratoarelor (egale cu condiiile iniiale),
ieirile elementelor de ntrziere i intrrile externe. Variabila independent a simulrii, timpul, este de
asemenea cunoscut n orice moment. Se pot calcula deci la momentul t = 0 elementele ce au ca intrri
ieirile integratoarelor i ale elementelor de ntrziere i ntrri externe. Se calculeaz apoi ieirile altor
elemente ce au ca intrri i ieirile elementelor deja calculate.
Algoritmul de alegere a secvenei de calcul este urmtorul:
1. se pun ntr-o list integratoarele i elementele de ntrziere din model,
2. se pun ntr-o list intrrile externe n model,
3. se pun ntr-o list de elemente ordonate mai nti elementele ce au ca intrri ieirile
integratoarelor, ale elementelor de ntrziere i intrri externe. Urmeaz apoi alte elemente ce
au ca intrri i ieirile elementelor puse anterior n list.
Pasul 3 al algoritmului se repet pn cnd toate elementele modelului au fost puse n list. Secvena
de calcul se deduce doar pentru elementele ce nu sunt integratoare.
99
Intrrile externe sunt blocurile de semnal din biblioteca Source: Constant, Clock (timpul simulrii),
etc. Ieirile lor sunt cunoscute la nceputul unui nou pas de integrare.
Fie de exemplu modelul din Figura 131.


Figura 131. Sistem de reglare.

Intrarea n sistem este este blocul Constant, ce genereaz o treapt unitar. Ieirea acestui bloc este
cunoscut la orice moment de timp.
Secvena de calcul a elementelor ce nu sunt integratoare i intrri externe este:
Sum, Sum1, Gain, Saturation, Gain1
sau
Saturation, Gain1, Sum, Sum1, Gain
sau
Sum, Saturation, Sum1, Gain1, Gain
etc.
Deci secvena de calcul a elementelor nu este unic.
Secvena de calcul a elementelor n model se afiaz cu clic pe Format Bloc Displays Sorted
Order.
Secvena de calcul a elementelor n modelul de mai sus este artat n Figura 132. Pentru elementele ce
nu sunt integratoare sau intrri externe, ea este
Sum, Sum1, Gain, Saturation, Gain1
Blocul Constant este calculat primul, fiind intrare extern.
100

Figura 132. Secvena de calcul a elementelor n model.