Professional Documents
Culture Documents
1
MiSP 2
1. MATLAB
1.1. MATLAB
MATLAB je interaktivni programski paket visokih performansi za znanstveno i inenjersko
numeriko raunjanje . MATLAB integrira numeriku analizu , raunjanje s matricama , signalno
procesiraje i grafiku u jednu cjelinu napravljenu tako da se vrlo lako koristi . U MATLAB-u se
problemi i rjeenja izraavaju kao da su pisani matematiki , bez tradicionalnog programiranja .
Ime MATLAB nastalo je od matrix laboratory . MATLAB je originalno napisan da omogui
laki pristup razvijanju programa za matrice kao to su projekti LINPACK i EISPACK .
MATLAB je interaktivni sustav iji je osnovni element podataka matrica kojoj nije potrebno
dimenzioniranje . Ovaj sustav dozvoljava rjeavanje mnogih numerikih problema u onom dijeliu
vremenu koliko je potrebno da se napie program u nekom kao to je Fortan, Basic ili C . Osim toga
, rjeenje problema MATLAB izraava skoro isto kao da je pisan matematiki .
Mnogi korisnici nastavili su tokom godina razvijati MATLAB . Na fakultetima on je postao
standardni nastavni alat za uvodne kurseve iz primjenjene linarne algebre , kao i za napredne
kurseve iz ostalih podruja . U industriji MATLAB se koristi za razvoj i rjeavanje praktikih
inenjerskih i matematikih problema . Tipino koritenje ukljuuje uobiajeno numeriko
raunjanje , algoritme ,prototipe i rjeavanje specijalnih problema sa matrinim formuliranjem koji
potjeu iz disciplima kao to su teorija automatske kontrole , statistika i digitalno signalno
procesiranje .
1.2. OSNOVE
MATLAB uglavnom radi samo sa jednom vrstom objekta , a to je pravokutna numerika
matrica sa moguim kompleksnim elementima . U nekim situacijama od velikog su znaaja matrica
1 sa 1 , koja je skalar , i matrica sa samo jednim redom ili stupcem ,koja predstavlja vektor .
Operacije i naredbe nad matricama u MATLAB-u nastoje biti prirodne kao to bi bile prikazane na
papiru .
1.2.1. STVARANJE JEDNOSTAVNE MATRICE
Matrice mogu nastati unutar MATLAB-a na nekoliko razliitih naina :
- stvaranjem eksplicitne liste elemenata ,
- stvaranjem funkcija i izraza ,
- kreiranjem M-datoteka ,
- uitavanjem iz drugih datoteka podataka .
MATLAB-ov jezik sadri bezdimenzionalne izraze i tipove deklaracije . Spremanje matrice
u memoriju je automatsko .
Najlaka metoda stvaranja malih matrica je koritenje eksplicitne liste . Elementi eksplicitne
liste razdvojeni su razmacima ili dvotokama i okrueni pravokutnim zagradama , [ i ] . Da bi
oznaili kraj reda koristimo toku-zarez ( ; ) . Na primjer , zadan je izraz
A=[ 1 2 3 ; 4 5 6 ; 7 8 9 ]
rezultat je matrica A
A=
1 2 3
4 5 6
7 8 9
2
MiSP 3
Matrica e biti snimljena za kasnije koritenje .
Velike matrice mogu biti rairene preko nekoliko linija . Tako matricu A moemo prikazati
pomou tri linije
A=[ 1 2 3
4 5 6
7 8 9 ]
Matricu moemo uitavati ili spremiti u datoteku s nastavkom .m . Na primjer neka se
datoteka zove gena.m i sadri prijanju matricu A . Pozivanjem imena gena datoteka e biti
proitana i stvoriti e se matrica A .
A=A(1:3, :)
uzima sve stupce u prva tri reda iz trenutne matrice A i daje nam natrag originalnu matricu A .
3
MiSP 4
ili jednostavnije
formula
Formula se sastoji od oparatora i drugih specijalnih znakova , od funkcija i imena varijabli .
Ako je izostavljeno ime varijable i znak jednakosti MATLAB e automatski dodijeliti varijabli ime
ans ( skraeno od answer = odgovor ) . Na primjer , tipkajui izraz
1900/81
prikazati e
ans =
23.4568
Izraz se normalno zavrava pritiskom na tipku enter . Meutim , ako je zadnji znak u izrazu
toka-zarez , ; , printanje e biti zadrano , ali e rezultat biti spremljen u memoriju i kasnije moe
biti pozvan . To je vrlo korisno u M-datotekama i u situacijama kada je rezultat prevelik pa pojedini
brojevi postaju neinteresantni .
Ako je formula tako komplikovana da ne moe cjela stati u jedan red moe se nastaviti u
sljedei red tako da se otipkaju tri toke , ... , koje oznauju da se izraz nastavlja u sljedei red . Na
primjer ,
s = 1 - 1/2 + 1/3 -1/4 + 1/5 - 1/6 + 1/7 ...
- 1/8 + 1/9 - 1/10 + 1/11 - 1/12 ;
Imena varijabli i funkcija sastoje od bilo kojih slova ibrojeva . Samo prvih 19 znakova
imena se pamti .
MATLAB je osjetljiv na malo i veliko slovo , tako da a i A nisu iste varijable . Sve
funkcije moraju biti napisane malim slovima ; inv(A) e invertirati matricu A ,ali INV(A) e samo
prijaviti nedefiniranu funkciju . Meutim , naredba casesen ini MATLAB neosjetljivim na malo i
veliko slovo .
4
MiSP 5
r 1 by 3 3 No
s 1 by 1 1 No
X 1 by 5 5 No
Grand total is (19 *8) = 152 bytes,
leaving 291636 bytes of memory free.
Svaki element matrice koristi za svoje spremanje 8 bajtova memorije , tako da matrica 3 sa 3
treba 72 bajta , a sve varijable zajedno 152 bajta . Koliko e slobodne memorije ostati o sveukupnoj
memoriji raunala i koliko je varijabli spremljeno .
Kao to vidimo MATLAB ima dva simbola za dijeljenje , lijevo i desno . Kod djeljenja
skalarnih vrijednosti dobiti emo isti rezultat , odnosno 1/4 i 1\4 dati e uvijek 0.25 . Kod dijeljenja
matrica dobiti emo razliit rezultat to je opisano u odjeljku 3.3.4. .
5
MiSP 6
1.2.7. IZLAZNI FORMATI
Rezultati koje MATLAB prorauna pojavljuju se na ekranu . Prikaz brojeva moemo
kontrolirati koritenjem naredbe format . Naredba ima uinak samo na to kako e se matrice
prikazati na ekranu , a ne i to kako su izraunane i spremljene (MATLAB koristi za raunanje
dvostruku preciznost) .
Ako su svi elementi matrice cijeli brojevi , matrica e se prikazati u formatu bez decimalnih
toaka . Na primjer ,
x = [-1 0 1]
e biti prikazan
x=
-1 0 1
Ako bar jedan od elemenata nije cijeli broj postoji nekoliko moguih izlaznih formata.
Pokretanjem MATLAB odmah postavlja izlazni format koji se zove short . Short format prikazuje
priblino prvih 5 decimalnih znamenki . Drugi formati prikazuju vie znamenki ili koriste znastvene
oznake . Na primjer, neka je :
x = [4/3 1.2345e-6]
Izlazni formati i njihovi prikazi su :
format short
1.3333 0.0000
format short e
1.3333E+000 1.2345E-006
format long
1.333333333333338 0.000001234500000
format long e
1.333333333333338E+000 1.234500000000003E-006
format hex
3FF5555555555555 3EB4B6231ABFD271
format +
++
Kod long formata zadnja znamenka moe biti neispravna , ali izlaz je u stvarnosti ispravno
prikazan binarni broj spremljen u raunalu . Kod short i long formata , ako je element matrice vei
od 1000 ili manji od 0.001 koristi se potencija s bazom 10 .Tako se 2156 prikazuje kao
2.156E+001 , 0.000123 kao 1.23E-001 .
Format + slui za pokazivanje nula , pozitivnih i negativnih elemenata u matrici .
1.2.8. POMO
MATLAB sadri informacije o veini MATLAB-ovih predmeta u koje se ubrajaju naredbe ,
funkcije ,oznake i slino . Da bi dobili listu predmeta koristimo se naredbom help . Ako elimo
informaciju o tono odreenom predmetu otikamo help predmet . Tako na primjer ako elimo
informaciju o naredbi format otipkamo :
help format
Isto tako moemo pozvati informaciju i o tome kako koristiti tu pomo naredbom :
6
MiSP 7
help help
7
MiSP 8
1.3.2. ZBRAJANJE I ODUZIMANJE
Zbrajanje i oduzimanje matrica oznaava se sa + i - .
Zbrajanje i oduzimanje mogue je samo ako su matrice iste
veliine . Na primjer , A + x je neispravno jer je A matrica A
3 sa 3 , a x 3 sa 1 . Meutim ,
C = A+ B
8
MiSP 9
1.3.4. DIJELJENJE MATRICE
Za dijeljenje postoje dvije oznake / i \ . A\B i B/A predstavljaju lijevo i desno mnoenje
matrice B sa inverznom matricom A ( inv(A)B odnosno Binv(A) ) , ali rezultat se dobiva bez
raunanja inverzne matrice .
Lijevo djeljenje , A\B , mogue je sve dok B ima vie redova od A . Ako je A kvadratna
matrica za raunanje se koristi Gausova eliminacija . Rezultat je nova matrica istih dimenzija kao i
B . Ako A nije kvadratna matrica tada se koristi householderova ortogonalizacija po stupcima
.Rezultat je nova matrica m sa n gdje je m broj stupaca matrice A , a n broj stupaca matrice B .
1.4.3. POTENCIRANJE
Potenciranje element po element oznaavamo sa .^ . Na primjer ,
9
MiSP 10
z = x .^ y
daje rezultat
z=
1 32 729
Eksponent moe biti i skalar .
z = x .^ 2
z=
1 4 9
Ili baza moe biti skalar .
z = 2 .^ [x y]
z=
2 4 8 16 32 64
Vrlo je vano da izmeu znamenke 2 i .^ bude prazan prostor inae e se toka shvatiti kao
decimalna toka iza znamenke 2 .
< manji od
< = manji od ili jednako
> vei od
> = vei od ili jednako
= = jednako
~ = razliito
sin sinus
cos kosinus
tan tanges
asin arkus sinus
acos arkus kosinus
atan akus tanges
sinh sinus hiperbolni
cosh kosinus hiperbolni
tanh tanges hiperbolni
asinh arkus sinus hiperbolni
acosh arkus kosinus hiperbolni
atanh arkus tanges hiperbolni
10
MiSP 11
i uobiajene osnovne funkcije :
1.5. GRAFIKA
Znastvene i inenjerske podatke moemo u MATLAB-u prikazati i grafiki koristei
naredbe za crtanje na ekranu . Postoji vie naina prikazivanja na ekranu od kojih mi odabiremo
nama najpogodniji :
Jednom kada je graf na ekranu , graf moemo oznaiti , ubaciti tekst ili nacrtati reetke u
grafu . Sve to moemo napraviti pomou naredbi :
11
MiSP 12
kao i naredbe za printanje :
MATLAB ima dva ekrana , grafiki ekran i ekran za naredbe . Neke konfiguracije
raunala omoguuju prikazivanje oba ekrana istovremeno , dok druge mogu prikazati samo jedan
ekran istodobno . Ako se ekran za naredbe ne vidi od grafikog dovoljno je pritisnuti bilo koju tipku
za povratak na njega .
Prijanjem grafu moemo dati ime , oznaiti mu osi ili mu ucrtati reetku . Na primjer ,
title( Moj prvi graf )
xlabel( redno mjesto elementa )
ylabel( vrijednost elementa )
grid
daje kao rezultat :
12
MiSP 13
1
Moj prvi graf
1
0.9 0.9
0.8 0.8
0.7 0.7
0.6 0.6
0.5 0.5
vrijednost elementa
0.4 0.4
0.3 0.3
0.2 0.2
0.1 0.1
0 01 2 3 4 5 6 7
1 2 3 4 5 6 7
redno mjesto elementa
Ako su X i Y vektori iste duine tada naredba plot(X ,Y) crta graf koji na osi y ima
elemente vektora Y , a na osi x ima elemente vektora X . Na primjer ,
t = 0:0.05:4pi ;
y = sin(t) ;
plot(t,y)
daje kao rezultat :
1
1
0.8
0.6
0.4
0.2
0 0
-0.2
-0.4-0.4
-0.6-0.6
-0.8-0.8
-1-1 0 2 4 6 8 10 12 14
0 2 4 6 8 10 12 14
13
MiSP 14
- puna crta
-- isprekidana crta
: toka-toka crta
-. crta-toka crta
. znak toka
+ znak plus
znak zvjezdica
x znak x
r crvena
g zelena
b plava
w bijela
i nevidljiva
14
MiSP 15
1.6.3. IF IZJAVA
Temeljni oblik IF izjave je :
if uvjet
naredbe 1
else
naredbe 2
end
IF izjava doputa da se naredba ili naredbe 1 izvri ako je zadovoljen logiki uvjet , inae e
se izvravati skup naredbi 2 .
1.7. M-DATOTEKE
MATLAB se obino koristi u modu za naredbe , a naredbe se piu u naredbenom retku .
Naredbe se piu jedna po jedna , a izvravaju se odmah . MATLAB ima i mogunost izvravanja
niza naredbi spremljenih u datoteke .
15
MiSP 16
Datoteke koje sadre MATLAB-ove izraze zovu se M-dototeke jer imaju na kraju datoteke
ekstenziju .m . Na primjer , datoteka sa imenom bessel.m moda sadri izraze za rjeavanje
Bessel-ove funkcije .
M-datoteke sadre nizove normalnih MATLAB-ovih naredbi i izraza , te izraze iz drugih
M-datoteka . M-datoteka moe pozivati ak i sama sebe .
Jedan nain koritenja M-datoteke je automatiziranje dugog niza naredbi . Takve datoteke
zovemo tekst datoteke (eng. string files ) . Drugi nain omoguuje proirenje MATLAB-ovih
funkcija stvaranjem novih . Takve datoteke zovemo funkcijske datoteke (eng. function files ) . Oba
tipa M-datoteke su obine ASCII tekst datoteke koje stvaramo pomou nekog editora ili tekst
procesora .
16
MiSP 17
Z = 1:99;
srednja vrijednost se dobiva tipkanjem :
mean(z)
Rezultat je
ans =
50
Prvi red funkcijske datoteke deklarira ime funkcije , ulazni i izlazni argument . Bez tog
redtka datoteka bi bila tekst umjesto funkcijska . Znak % oznaava da je ostatk reda komentar i da
ga treba ignorirati . Oni se pojavljuju tek kada se pozave help mean . Varijable m , n i y su
lokalne i ne spremaju se u radni prostor .
SIMULINK
2.1. UVOD
SIMULINK je program za simulaciju dinamikih sustava . Kao proirenje MATLAB-a ,
SIMULINK dodaje mnogo novih specijalnih svojstava o dinamikim sustavima .
SIMULINK ima dva naina koritenja ; definiranje modela i analiza modela . Tipian nain
koritenja poinje ili definiranjem modela ili pozivanjem prije definiranog modela , te analiziranjem
tog modela . U praksi ova dva koraka se koriste za definiranje i modificiranje modela tono
odreenog ponaanja .
17
MiSP 18
Model definiramo tako da stvorimo blok dijagram koristei SIMULINK-ovu biblioteku
blokova . Nakon to definiramo model moemo ga analizirati ili biranjem opcija iz SIMULINK-
ovog menija ili pisanjem naredbe u MATLAB-ovu ekranu za naredbe . Alati za analizu ukljuuju
razliite simulacijske algoritme , alate za izdvajanje linarnih modela iz sustava , te alate za traenje
toke ravnotee .
Napredak simulacije moemo gledati tokom izvrenja simulacije , a zavrni rezultat moe se
spremiti u MATLAB-ov radni prostor .
18
MiSP 19
SIMULINK
F ile E dit O ptions S imulation S t yle
slika 6.
Blokove moemo kopirati iz jednog prozora u drugi jednostavnim odvlaenjem blokova sa
njihovog originalnog mjesta u novi prozor . Na primjer , otvorimo Sources biblioteku i odatle
odvucimo blok Signal Gen u novi prozor (slika 7.) .
Untitled
F ile E dit O ptions S imulation S t yle
Signal Gen
Ovaj kopirani blok sadri neke unutranje parametre originalnog bloka . Mnogi blokovi
mogu otvoriti odvojen prozor kako bi pokazali svoje parametre . Ti prozori omoguuju kontrolu
ponaanja blokova mjenjanjem njihovih parametara .
Otvorimo blok signalnog generatora dvostrukim klikom mia na ikonu bloka . Otvoriti e se
prozor u kojem e biti prikazani dijaloki prozori za kontrolu oblika signala , amplitude i
frekvencije signala . Na primjer , odaberimo sinusni signal frekvencije 6 Hz i amplitude 1 V . Na
kraju kliknimo na dugme OK kako bi zatvorili ovaj prozor .
Da bi promatrali signal tijekom simulacije koristimo osciloskop koji je predstavljen blokom
Scope . Otvorimo Sinks biblioteku i odatle odvucimo Scope blok u na prozor (slika 8.).
19
MiSP 20
Untitled
F ile E dit O ptions S imulation S t yle
slika 8.
Otvorimo blok osciloskopa kako bi mogli pratiti signal i promijenili parametre . Na primjer ,
postavimo horizontalan domet na 10 ,a vertikalni na 3 .
Znak > usmjeren prema van na ikoni Signal Gen bloka predstavlja izlaz , a znak > usmjeren
prema unutra na ikoni Scope bloka predstavlja ulaz . Da bi povezali blokove kliknemo na izlaz i
drei lijevu tipku mia povuemo sve do ulaza drugog bloka (slika 9.) .
Untitled
F ile E dit O ptions S imulation S t yle
slika 9.
Kada je gradnja modela gotova moemo pokrenuti simulaciju . Da bi izabrali algoritam
integracije i parametre koje emo koristiti tijekom simulacije koristimo naredbu Parametars iz
Simulation menija . Pojaviti e se novi prozor sa svim parametrima simulacije koje moemo
promijeniti . Odaberimo na primjer linearnu integraciju i maksimalnu veliinu koraka od 0.01 , te
kliknimo na dugme OK kako bi zatvorili prozor . Da bi pokrenuli simulaciju odabiremo naredbu
Start iz Simulation menija .
Ako prozor osciloskopa nije otvoren , moemo ga otvoriti dvostrukim klikom mia na ikonu
Scope bloka ak i kad je simulacija pokrenuta . U prozoru osciloskopa moemo vidjeti sinusni
signal koji proizvodi generator impulsa . Kontrole u Scope i Signal Gen blokovima su aktivne
tijekom simulacije . Moemo mjenjati valni oblik signala , kao njegovu amplitudu i frekvenciju i to
pratiti na osciloskopu bez da izlazimo iz simulacije .
Simulacija e se zaustaviti kada istekne vrijeme koje smo namjestili u parametrima
simulacije ( Stop time:) . Isto tako moemo zaustaviti simulacija kada elimo odabirom naredbe
Stop iz Simulation menija .
Ovaj na model moemo snimiti na disk za kasniju upotrebu pomou naredbi Save ili Save
As iz File menija. Pri tome moramo paziti da ime pod koje snimamo model bude jedinstveno , jer e
se u sluaju istog imena stari model biti prebrisan novim .
20
MiSP 21
lagano se ui i brzo pokazuje rezultate . Raditi na ovaj nain vrlo je korisno kod poetnog kreiranja
i debagiranja sustava .
Drugi nain koritenja je preko MATLAB-ovog naredbenog retka . Ova metoda je malo
komliciranija od prve ali daje veliku fleksibilnost . Rezultati simulacije spremaju se u MATLAB-ov
radni prostor za daljnu analizu , a podatke moemo pogledati pomou MATLAB-ovih grafikih
alata .
Trei nain koritenja je preko S-funkcija . To je najkompliciraniji i naj fleksibilniji nain
koritenja . Svaki SIMULINK-ov model mogue je prikazati u MATLAB-u kao S-funkciju koja
utjelovljuje dinamiko ponaanje sustava . Svaka S-funkcija ima isto ime kao i odgovarajui
model . S-funkciju moemo pozvati na razne naine kako bi dobili informacije o modelu koji ona
predstavlja . Svi alati za analizu koji dolaze sa SIMULINK-om rade preko S-funkcija .
Nijedan od ova tri naina koritenja nije ekskluzivan i nema tono odreene granice
koritenja . Za razliite faze gradnje modela mogu se koristiti razliiti naini koritenja
SIMULINK-a .
2.4.2. SIMULACIJA
Simulacija SIMULINK-ovih modela ukljuuje numerike integracije uobiajenih
diferencijalnih jednadbi . SIMULINK sadri odreen broj integracijskih algoritama za simulaciju
takvih jednadbi . Na alost , zbog raznolikosti ponaanja dinamikih sustava jedna metoda ne
garantira da e simulirati svaki tip modela tono i efikasno . Zato su odabir metode i paljiva
selekcija simulacijskih parametara vrlo vani za dobivanje tonih podataka .
Simulaciju moemo pokrenuti ili iz naredbenog retka ili iz Simulation menija . Obe metode
koriste iste argumente i parametre .
Simulaciju iz menija pokreemo pomou naredbe Start iz Simulation menija . Pomou
naredbe Parameters iz Simulation menija pozivamo SIMULINK-ov kontrolni panel sa parametrima
simulacije (slika 10.) .
Kontrolni panel sadri polja u koje unosimo brojeve ili bilo koje legalne MATLAB-ove
izraze . Povratne varijable [t , x , y] koriste se za spremanje vremena , ulaznih i izlaznih krivulja u
MATLAB-ov radni prostor . Vrijeme poetka i kraja simulacije odreujemo pomou varijabli tstart
i tfinal . Integracijski parametri final , minstep i maxstep kontroliraju toleranciju , minimalnu i
maksimalnu veliinu koraka . U kontrolnom panelu moemo i izabrati jednu od sedam
integracijskih algoritama .
Svaku simulaciju moemo pokrenuti i iz naredbenog retka . Na primjer , da bi konfigurirali
simulaciju sa identinim parametrima kao oni opisani u kontrolnom panelu , koristimo naredbu :
[t, x, y] = sim('model', [tstart, tfinal], x0,[final, minstep, maxstep] );
gdje je model ime sustava kojeg simuliramo .
Poetno uvjeti koje ne moemo podesiti iz menija simulacije je definirano u vektoru x0 . Ovi
uvjeti se mogu prebrisati uvjetima koje sadri vektor x0 osim u sluaju kada je vektor x0 prazna
matrica .
21
MiSP 22
SIMULINK Control Panel
Tolerance: final
Krivulje gledamo na ekranu osciloskopu kojeg dobijemo dvostrukim klikom mia na ikonu Scope
bloka .
Drugi nain je pomou povratnih varijabli . Krivulje se nakon zavretka simulacije spremaju
u MATLAB-ov radni prostor , a prikazuju se pomou MATLAB-ovih grafikih alata .
1
1
Step Fcn
s1 y
Simulaciju pokreemo iz naredbenog retka . Na primjer , neka se model zove izlaz
[t,x,y] = linsim('izlaz',2);
plot(t,y)
Trei nain prikazivanja krivulja pomou To Workspace bloka .
1
y
s1 To Workspace
Step Fcn
y
Clock To Workspace1
Krivulja se sprema u MATLAB-ov radni prostor , a prikaz je uz pomo MATLAB-ovih grafikih
alata .
[t, x, y] = linsim('izlaz',2);
plot(t,y)
2.4.3. ALGORITMI SIMULACIJE
Simulacija SIMULINK-ovih modela openito ukljuuje integraciju grupe uobiajenih
diferencijalnih jednadbi . SIMULINK ima odreen broj metoda za simulaciju tih jednadbi:
22
MiSP 23
linsim metoda linearne dinamike
rk23 Runge-Kuttova metoda treeg reda
rk45 Runge-Kuttova metoda petog reda
gear Gearova metoda predvianja za krute sustave
adams Adamsova metoda predvianja
23
MiSP 24
vremena i njegovog ulaza . Rezultat derivacije je vektor koji se vraa u integrator koji ga koristi za
raunanje novog vektora .
2.6. S-FUNKCIJA
Kada je kreiran SIMULINK-ov model crtanjem blok dijagrama SIMULINK koristi
informacije iz blok dijagrama za kreiranje nove funkcije zvane S-funkcija . Ta funkcija definira
dinamiku modela . Svaki blok dijagram koji nacrtamo ima odgovarajuu S-funkciju ije ime je isto
kao i ime modela . S-funkcija koristi se kod integracije , linerizacije i rutina za raunanje
determinanti dinamike sustava . U osnovi ona je jednostavno MATLAB-ova funkcija sa
specijalnom pozivnom sintaksom koja doputa pristup jednadbama dinamike modela . Njezina
pozivna sintaksa je :
sys = model (t, x, u, flag)
gdje je model ime modela ,a flag odreuje to e se vratiti iz S-funkcije .
S-funkcija kao takva ima sljedee prijednosti :
- Moemo kreirati model , linearan ili nelinearan , u razliitim jezicima .
- Moemo napraviti novi tip blokova koji se mogu koristiti u bilo kojem blok dijagramu .
- Moemo napisati svoju vlastitu rutinu za simulaciju i analizu .
Iako SIMULINK automatski kreira S-funkciju za bilo koji blok dijagram moemo i sami
definirati S-funkciju u drugoj vrsti datoteke kao to je M-datoteka ili MEX-datoteka napisana u C-u
ili Fortranu . Takva datoteka mora mora imati vrlo standardiziran format . Osnovna ideja je da
moramo tono definirati varijable koje simuliramo , ustanoviti kako se te varijable mijenjaju u
ovisnosti o trenutnim vrijednostima vremena i ulaza , te koji su izlazi . Za neke sustave , kao to su
saete grupe diferencijalnih jednadbi mnogo je jednostavnije unijeti ih kao tekst u M-datoteci ili
MEX-datoteci nego crtati odgavarajui dijagram . Bilo kako da je kreiramo to je jo uvijek S-
funkcija .Jednom kada kreiramo novu S-funkciju moemo je staviti u blok dijagram ili je pozvati iz
naredbenog retka kao i druge funkcije .
S-funkciju moemo koristiti unutar blok dijagrama koristei specijalan blok zvan S-function
blok . Drugi nain kreiranja novih blokova je pomou postupka zvanog maskiranje (eng. masking) .
Pomou njega moemo promijeniti blok u smislu njgovog dijalokog prozora , njegove ikone i
njegovih naredbi . Maskiranjem bloka S-funkcije moemo stvoriti novu klasu blokova .
24
MiSP 25
Sources
Clock vrijeme sustava
Constant daje konstantnu vrijednost
From File ita podatke iz datoteke
From Workspace ita podatke iz radnog prostora
Signal Generator generira razliite oblike signala
Sine Wave generira sinusni signal
White Noise generira proizvoljni um
Sinks
Scope prikaz signala tijekom simulacije
To File spremi podatke u datateku
To Workspace spremi podatke u radni prostor
Discrete
Discrete State-Space diskretni sustav
Diskrete Transfer Fcn diskretna transfer funkcija
Diskrete Zero-Pole nul-toke i polovi dis. sustava
Filter IIR i FIR filteri
Unit Delay kanjenje izlaza u ovisnosti o periodu
Linear
Derivative derivacija ulaza
Gain mnoenje ulaza s konstantom
State-Space linerni sustav
Sum suma ulaza
Transfer Fcn linerna transfer funkcije
Zero-Pole nul-toke i polovi lin. sustava
Connections
Demux razdvaja vektor u skalarni signal
Inport veza sa vanjskim ulazom
Mux grupira skalare u vektor
Outport veza sa vanjskim izlazom
25
MiSP 26
Nolinear
Abs apsolutna vrijednost ulaza
Backlash model histereze
Dead Zone podruje kad je izlaz nula
Fcn funkcija ulaza
Look Up Table izvrava linearno mapiranje
MATLAB Fcn MATLABOVA funkcija
Product mnoenje ulaza
Rate Limiter limitiranje promjene signala
Relay prebacuje izlaz izmeu dvije vrijednosti
Saturation limitiranje vrijednosti signala
S-funktion S-funkcija kao blok
Switch prebacuje izmeu dva ulaza
Transport Delay kanjenje izlaza u ovisnosti o vremenu
LIBRARY SIMULINK
SOURCES SINKS
26
MiSP 27
DISCRETE LINEAR
27
MiSP 28
U panelu SOURCES prikazani su izvori signala. U panelu SINKS nalaze se elementi u koje
spremamo rezultate simulacije. U panelu DISCRETE nalaze se diskretni elementi. U panelu
LINEAR nalaze se kontinuirani elementi.
28
Uvod u analizu linearnih kontinuiranih sustava
za diskretne sustave
2.3 z 1
F (s)
2 z 0 .5
Napomena : Pri crtanju i proraunu funkcija ugraenih u Matlab ulazni parametri trebaju biti sukladnih
dimenzija (dimenzije se provjeravaju sa naredbom whos). Matlab je programski paket koji radi sa DOS
naredbama (npr. cd .., dir) te je prije poetka rada potrebno provjeriti u kojem direktoriju se nalazimo.
Popis najee koritenih naredbi u Matlabu :
1
2