14
1.12.2017. 1 AUTOMATIZACIJA Laboratorijske vježbe – MatLab/Simulink (Octave, Scilab) 1.Uvod u MatLab (Octave, Scilab) 2.Matematičko modeliranje komponenti sustava 3.Matlab (Octave, Scilab) u analizi automatskih sustava pomoću prijenosne funkcije 4.Modeliranje i simulacija sustava pomoću Simulink-a (Scilab/Xcos) 5.Vremenski odzivi sustava za različite koeficijente prigušenja (Po, P1, P2) 6.Utjecaj parametara PID regulatora i vremenskog kašnjenja na odziv i amplitudno fazno frekvencijsku karakteristiku sustava (P, PI, PID). 7.Kolokvij AUTOMATIZACIJA Ključnu ulogu u industriji igraju znanje i informacije Kontrola, nadzor i optimizacija zasnovani su na procesu mjerenja. Proces kontrole i upravljanja zahtijeva kontinuirano mjerenje Aktuator je meahanička naprava koja pretvara energiju u kretanje. Mehanička naprava koja uzima energiju (obično energiju zraka, tekućine, električnu energiju) i pretvara je u neku vrstu gibanja. Dakle to je električni, hidraulični ili pneumatski uređaj koji upravlja tokom materijala ili energije. Tri osnovne grupe zadataka koje sistem treba osigurati: Otklanjanje utjecaja vanjskih poremećaja (željeni kvalitet i količina proizvoda) Osiguravanje stabilnosti procesa (sigurnost) Optimiziranje rada procesa Osnovni tipovi sustava i zatvorenom petljom Sa otvorenom petljom Regulator Proces R(s) Y(s) Regulator Proces Senzor _ + R(s) Y(s) E(s) Y p (s) Ciljevi analize i sinteze Zahtjevana stabilnost, minimalna greška u stacionarnom stanju i oblik prijelaznog odziva sustava

AUTOMATIZACIJA - sfsb.unios.hrmcicak/AU/L1.pdf · 1.12.2017. 1 AUTOMATIZACIJA Laboratorijske vježbe –MatLab/Simulink (Octave, Scilab) 1.Uvod u MatLab (Octave, Scilab) 2.Matematičko

Embed Size (px)

Citation preview

Page 1: AUTOMATIZACIJA - sfsb.unios.hrmcicak/AU/L1.pdf · 1.12.2017. 1 AUTOMATIZACIJA Laboratorijske vježbe –MatLab/Simulink (Octave, Scilab) 1.Uvod u MatLab (Octave, Scilab) 2.Matematičko

1.12.2017.

1

AUTOMATIZACIJALaboratorijske vježbe – MatLab/Simulink (Octave, Scilab)

1.Uvod u MatLab (Octave, Scilab)

2.Matematičko modeliranje komponenti sustava

3.Matlab (Octave, Scilab) u analizi automatskih

sustava pomoću prijenosne funkcije

4.Modeliranje i simulacija sustava pomoću

Simulink-a (Scilab/Xcos)

5.Vremenski odzivi sustava za različite koeficijente

prigušenja (Po, P1, P2)

6.Utjecaj parametara PID regulatora i vremenskog

kašnjenja na odziv i amplitudno fazno frekvencijsku karakteristiku sustava (P, PI, PID).

7.Kolokvij

AUTOMATIZACIJA

Ključnu ulogu u industriji igraju

• znanje i informacije

Kontrola,

nadzor i

optimizacija

zasnovani su

na procesu mjerenja.

Proces kontrole i upravljanja zahtijeva kontinuirano mjerenje

• Aktuator je meahanička naprava koja pretvara energiju u kretanje. Mehanička naprava koja uzima energiju (obično energiju zraka, tekućine, električnu energiju) i pretvara je u neku vrstu gibanja.

• Dakle to je električni, hidraulični ili pneumatski uređaj koji upravlja tokom materijala ili energije.

• Tri osnovne grupe zadataka koje sistem treba osigurati:

• Otklanjanje utjecaja vanjskih poremećaja (željeni kvalitet i količina proizvoda)

• Osiguravanje stabilnosti procesa (sigurnost)

• Optimiziranje rada procesa

Osnovni tipovi sustava

i zatvorenom petljom

Sa otvorenom petljom

Regulator Proces

R(s) Y(s)

Regulator Proces

Senzor

_

+R(s) Y(s)E(s)

Yp(s)

Ciljevi analize i sinteze

Zahtjevana stabilnost, minimalna greška u stacionarnom stanju i oblik prijelaznog odziva sustava

Page 2: AUTOMATIZACIJA - sfsb.unios.hrmcicak/AU/L1.pdf · 1.12.2017. 1 AUTOMATIZACIJA Laboratorijske vježbe –MatLab/Simulink (Octave, Scilab) 1.Uvod u MatLab (Octave, Scilab) 2.Matematičko

1.12.2017.

2

Analiza u vremenskoj domeni

• Analiza u vremenskom području najčešće podrazumijeva rješavanje diferencijalnih jednadžbi koje opisuju sustav, ili promatranje odziva sustava na narinute standardne pobudne funkcije na njegovom ulazu.

• Analiza u frekvencijskoj domeni

• Temelji se na pobudi sustava sinusnim signalom promjenjive frekvencije i promatranjem odgovarajućeg odziva.

• Za linearne, vremenski nepromjenjive sustave i odziv će biti sinusan, ali će mu na svakoj frekvenciji amplitude i faza biti drugačija.

• Na temelju poznatih ulaznih i izlaznih amplituda i faza crtaju se frekvencijski dijagrami koji su temelj analize sustava u frekvencijskoj domeni.

Primjena gotovih programskih paketa

• MatLab - jedan od komercijalnih matematičkih software paketa/alata (Maple, Mathematica, MathCad …)

OCTAVE, Scilab (Xcos) - nekomercijalni alati

• Posjeduju visoke performanse u numeričkim izračunavanjima i vizualizaciji podataka.

Što je MATLAB ?

OCTAVE ?

Scilab ?

• MATLAB (MATrix LABoratory) je programski jezik

namjenjen za tehničke proračune. Objedinjava

računanje, vizualizaciju i programiranje u lako

uporabljivoj okolini u kojoj su problem i rješenje

definirani poznatom matematičkom notacijom.

• upotrebljava se zamatematiku i računanjerazvoj algoritama

modeliranje, simulaciju, analizuanalizu i obradu podataka, vizualizacijuznanstvenu i inžinjersku grafiku

Što je MATLAB ?Primjer:Dinamika Fluida

Rezultati modeliranja problema u

strojarstvu koristeći metodu konačnih

elemenata predstavljeni u MATLABu

Koraci za rješavanje problema uz pomoć MATLAB-a (Octave) u tehnici i znanosti

1. Jasno postaviti/formulirati problem

2. Definirati ulazne i izlazne vrijednosti

3. Razviti algoritam (metodu za riješavanje problema)

4. Riješiti problem

5. Provijeriti riješenje

Page 3: AUTOMATIZACIJA - sfsb.unios.hrmcicak/AU/L1.pdf · 1.12.2017. 1 AUTOMATIZACIJA Laboratorijske vježbe –MatLab/Simulink (Octave, Scilab) 1.Uvod u MatLab (Octave, Scilab) 2.Matematičko

1.12.2017.

3

Ako se pridržavate pravila kod rješavanja vaših problema povećavate šanse da dođete do točnog rješenja.

mali primjer….

Koliko sunce potroši materije tokom jednog dana?

MATLAB – OCTAVE ? • okruženje i programski jezik

• njegov programski jezik omogućava izgradnju vlastitih alata

• Toolbox je skup specijaliziranih M - datoteka za rad na određenoj klasi problema.

• S MATLABom dolazi nekoliko Toolbox- ova s područja upravljanja, obrade signala, identifikacije procesa, i drugih

MATLAB

• Matlab sve podatke tretira kao matrice i ne zahtjeva dimenzioniranje;

• Nakon pokretanja programa, otvara se glavni prozor u kojem ćemo uočiti znak >> (prompt), koji označava da Matlab očekuje unos nove naredbe.

• Svaka naredba mora završiti tipkom Enter – u nastavku teksta koristit ćemo oznaku <ent>.

• Neki primjeri ….

Komandni prozor

Komande se unose kod “>>”

odziva

Tekući Direktorij

MATLAB Prozori

aktivne varijable

Radni prostor

Rješavanje Problema uz Pomoć MATLABa

• Pogledajmo sada kako MATLAB radi na nekim primjerima

Skripte – skup naredbi koje se mogu izvršiti u komandnom prozoru

Koriste se za automatsko ponavljanje zadatka.

Funkcije

Ugrađene funkcije plot(),!rand(),!mean(),!std() može i korisničke funkcije

Skripta je skup naredbi i funkcija spremljenih u jednoj datoteci. Kad ju

pokrenemo naredbe se izvršavaju sekvencijalno, jedna za drugom.

U Editoru kreiramo i modificiramo m-datoteke možemo ih pokrenuti sa edit –

otvori – debug-run ili sa alatne trake zeleni trokutić

Primjer: level_tank

% primjer level_tank

clc, clear

Kp=16.5;

A_tank=78.5;

A=[0,-1/A_tank; 0, 0];

B=[Kp/A_tank; 0];

C=[1, 0];

D=[0];

model=ss(A, B, C, D)

step(model) % crta step na model

H=tf(model)

step(H)

Page 4: AUTOMATIZACIJA - sfsb.unios.hrmcicak/AU/L1.pdf · 1.12.2017. 1 AUTOMATIZACIJA Laboratorijske vježbe –MatLab/Simulink (Octave, Scilab) 1.Uvod u MatLab (Octave, Scilab) 2.Matematičko

1.12.2017.

4

Izvršavanje naredbi• Tijek:

• Pročitati naredbu (razumjeti je)

• Izvršiti naredbu

• Ispisati rezultat

• Ukoliko liniju naredbe završimo sa ; naredba će se izvršiti, ali se njen rezultat neće ispisati, (za međukorake čiji nas rezultat ne zanima).

• Tekst iza znaka % se zanemaruje

>>A=5; % ovo je komentar

>>% a=10

>>

Varijable

• Na početku rada sa MATLABom obično je potrebno definirati varijable i dodijeliti im odredjene vrijednosti, npr. A=3

• Ovu komandu je najbolje shvatiti kao dodjeljivanje vrijednosti 3 varijabli A

• Ovako definirane varijable mogu se koristiti u narednim komandama

Varijable

• Sva imena moraju početi slovima

• Imena varijable mogu sadržavati slova, brojeve i znak “ _”)

• MATLAB pravi razliku izmedju malih i velikih slova

Osnovna vrsta varijabli

• Grupa brojeva raspoređena u redove i stupce

• Jedan broj (Skalar)• MATLAB ga tretira kao matricu sa jednim redom i

jednin stupcem

• Vektor (Jednodimenzionalna matrica)• Jedan red ili jedan stupac

• Matrica (Dvije dimenzije)

Varijable• Prema sadržaju elemenata matrice:

• Realne

• Kompleksne

• Simboličke

• Polja

• Strukture

• Prema dohvatu (vidljivosti) na:

• Lokalne

• Globalne

• Prema izvoru nastanka:

• Interne

• Eksterne

Varijable

• Varijablu ans automatski generira i pridružuje joj vrijednost zadnjeg izračunatog izraza koji nije pridružen nijednoj varijabli.

>> 4*25+3

ans = 103

MATLAB pamti varijable koje smo koristili

Varijable koje su u radnom prostoru možemo vidjeti naredbom

who (ispis varijabli)

>> who Your variables are:

a b d kmpl2 p_kmpl1 y ans c kmpl1 kmpl3 x

whos (detaljniji ispis varijabli)

• >>whos

Name Size Elements Bytes Density Complex

a 1 by 1 1 8 Full No

ans 1 by 1 1 8 Full No

b 1 by 1 1 8 Full No

kmpl1 1 by 1 1 16 Full Yes …

Page 5: AUTOMATIZACIJA - sfsb.unios.hrmcicak/AU/L1.pdf · 1.12.2017. 1 AUTOMATIZACIJA Laboratorijske vježbe –MatLab/Simulink (Octave, Scilab) 1.Uvod u MatLab (Octave, Scilab) 2.Matematičko

1.12.2017.

5

Brisanje varijabli

clear – briše sve varijable iz workspace-a

clear a, b, c –briše varijable a, b i c iz workspace-a

clear global – briše globalne varijable iz workspace-a

clear d* - sve varijable koje počinju na d

Brisanje pomoću prozora workspace-a

Aritmetičke operacije

>> 4/1

ans =

4

>> 4\1

ans =

0.2500

>> 1 + 3 * 2 ^ 4 / 6 - 9

ans =

0

>> 1 + (3 * 2) ^ 4 / (6 - 9)

ans =

-431

+ zbrajanje

- oduzimanje

* množenje

/ "Desno" dijeljenje

\ "lijevo" dijeljenje

^ potenciranje

Zadatak:

Definirajte varijable x i z, x kao x=5.3 i z kao z=7.8

(x /z)2

xz14x 2 0.8z 2

1

) 2)2

x

z

z

x (x 2z z 2x (

Redosljed operacija

• Isti kako ste naučili u matematici• Prvo zagrade

• Eksponencijalne funkcije

• Množenje / dijeljenje

• Zbrajanje / oduzimanje

Zagrade

• Koristite samo ( )

• { } i [ ] se koriste za neke druge (važne) stvari u MATLABu

• MATLAB ne “podrazumjeva” množenje ako se ispusti znak “*”

>> 5(3+4)

??? 5(3+4)

|

Error: Unbalanced or unexpected parenthesis or bracket

5 * (3+4) nije 5(3+4)

Da bi ste u radnom prostoru stvorili vektor –

jednodimenzionalnu matricu, koristite

pravokutne zagrade [ ]

Operacije sa matricama

Između pojedinačnih brojeva u

vektoru možete upotrijebiti ili prazan

prostor ili zareze

Operacije sa matricama

Page 6: AUTOMATIZACIJA - sfsb.unios.hrmcicak/AU/L1.pdf · 1.12.2017. 1 AUTOMATIZACIJA Laboratorijske vježbe –MatLab/Simulink (Octave, Scilab) 1.Uvod u MatLab (Octave, Scilab) 2.Matematičko

1.12.2017.

6

Korištenje točka-zareza umijesto zareza ili

praznih prostora će brojeve rasporediti u

kolonu umjesto u redak (stupčasti vektor)

Korištenje točka-zareza da bi se označio

novi red

Korištenje prečica

• Dok se neke komplicirane matrice moraju unositi pažljivo, “ručno”, unos je puno lakši ako se radi o matricama sa elementima koji su pravilno raspoređeni. Instrukcija

b= 1:5 ili b = [1:5] će stvoriti vektor u jednom redu

Često nam vektor predstavlja rastući ili padajući niz brojeva s jednolikim

razmakom između susjeda. Takav vektor zadajemo pomoću znaka dvotočke

(:). Npr:

b =

1 2 3 4 5

Razlika izmedju elemenata matrice ili

vektora je 1 po definiciji, ako želite

neku drugu razliku, umetnite je

izmedju početne i krajnje vrijednosti

Korisna napomena

• U instrukciji koja definira elemente matrice može se upotrijebiti i matematička operacija

• Na primjer:

a = [0: pi/10: pi]

Vježba

36

Generirajte vektor

a) v1= 2 4 6 8 10 12 sa konstantnim korakom između elemenata, zadavanjem prvog elementa, koraka i zadnjeg elementa.

b) v2= 2.0000;2.2000;2.4000;2.6000;2.8000;3.0000

sa konstantnim korakom između elemenata

c) u kojem je prvi element 18, a posljednji -22, a korak između elemenata je -4.

Page 7: AUTOMATIZACIJA - sfsb.unios.hrmcicak/AU/L1.pdf · 1.12.2017. 1 AUTOMATIZACIJA Laboratorijske vježbe –MatLab/Simulink (Octave, Scilab) 1.Uvod u MatLab (Octave, Scilab) 2.Matematičko

1.12.2017.

7

Generirajte vektor

a) v1= 2 4 6 8 10 12 sa konstantnim korakom između elemenata, zadavanjem prvog elementa, koraka i zadnjeg elementa.

v1=2:2:12

a) v2= 2.0000;2.2000;2.4000;2.6000;2.8000;3.0000

sa konstantnim korakom između elemenata

v1=2:.2:3

c) u kojem je prvi element 18, a posljednji -22, a korak između elemenata je -4.

t=18:-4:-22

Aritmetički operatori (matrice)

Relacijski operatori

Logički operatori

OPERATORI

Prioritet Operator Opis

1 ( ) Grupiranje i prioritet

2 ’

.’Konjugiranje i transponiranje

Transponiranje

3 ^

.^

Potenciranje

Potenciranje između elemenata

4 *

.*

/

\

./

Matrično množenje

Množenje među elementima matrica

Desno dijeljenje (X*Y-1)

Lijevo dijeljenje (Y-1*X)Dijeljenje među elementima matrica

5 +-

Zbrajanje Oduzimanje

38

ARITMETIČKI OPERATORI Relacijski operatori

40

Kao rezultat operacije se dobiva

logička vrijednost (0 ili 1)

Operator Opis Primjer

< Manje a<b

<= Manje ili jednako a<=b

> Veće a>b

>= Veće ili jednako a>=b

== Jednako a==b

~= Različito a~=b

Logički operatori

41

Operator Opis Primjer

&

Logičko I – Ako A i B imaju vrijednost true

(1), rezultat je true, u suprotnom rezultat

je false (0).A&B

I

Logičko ILI – Ako jedan ili oba operanda

imaju vrijednost true (1),rezultat je true

(1), u suprotnom rezultat je false (0)A|B

~Logički komplement – daje suprotnu

vrijednost operanda (1--> 0)~A

xor Logičko ekskluzivno ILI xor(A,B)

Početna

vrijednost

izražena kao

stupanj broja 10

Završna vrijednost

izražena kao

stupanj broja 10

Broj elemenata

e =

10 100 1000

Page 8: AUTOMATIZACIJA - sfsb.unios.hrmcicak/AU/L1.pdf · 1.12.2017. 1 AUTOMATIZACIJA Laboratorijske vježbe –MatLab/Simulink (Octave, Scilab) 1.Uvod u MatLab (Octave, Scilab) 2.Matematičko

1.12.2017.

8

Operacije sa Matricama i Vektorima• Množenje .*

• Dijeljenje ./

• Eksponencijalne funkcije .^

Dimenzije matrica ili vektora moraju biti iste.

Kod množenja matrica broj stupaca lijeve matrice mora biti jednak broju

redaka desne matrice:

Zahvaljujući matricama ponavljanje istih operacija u MATLABu je jednostavno

• Ako, na primjer, imate veliki broj kutova u stupnjevima koje treba pretvoriti u radijane, najbolje je

• Prvo ih sortirati u vektor (ili matricu) • Potom izvršiti pretvaranje u radijane

POSEBNE MATRICE Naredba zeros(m,n) vraća matricu sa m redaka i n stupaca popunjenu nulama, dok funkcija ones(m,n) vraća matricu istih dimenzija popunjenu jedinicama. Naredba eye(n) kreirat će kvadratnu matricu dimenzija n×n s jedinicama po dijagonali (jedinična matrica).

Uočimo iz prethodnog primjera da ako Matlab naredba ima više argumenata, oni se međusobno odvajaju zarezom.

Matricu sa slučajno odabranim brojevima (u intervalu od 0 do 1) kreirat će naredba rand(n,m):

Znak “%” se koristi za komentar u Matlabu

Potreban je jedan “%” znak za svaku liniju

u koju stavljate komentar

Želimo li izbrisati neku varijablu iz radnog prostora, koristit ćemo naredbu clear. Npr:

>> clear a % briše varijablu a

>> clear % briše sve varijable iz radnog prostora

>> clear all

Korištenje predefiniranih funkcija u MATLABu

Funkcija se sastoji od• Imena

• Ulaznih vrijednosti

• Izlaznih vrijednosti (Rezultata)

sqrt (x)= result

In MATLAB

sqrt(4)

ans = 2

Page 9: AUTOMATIZACIJA - sfsb.unios.hrmcicak/AU/L1.pdf · 1.12.2017. 1 AUTOMATIZACIJA Laboratorijske vježbe –MatLab/Simulink (Octave, Scilab) 1.Uvod u MatLab (Octave, Scilab) 2.Matematičko

1.12.2017.

9

Neke funkcije mogu (ili moraju) imati više ulaznih vrijednosti

• Funkcija “remainder” izračunava ostatak cjelobrojnog dijeljenja

• Npr. ostatak kod dijeljenja 10 i 3, 10/3

MATLAB funkcije mogu načiniti (skoro) sve što vam može zatrebati

• Da bi ste saznali kako rade i kako se koriste MATLAB funkcije možete upotrijebiti MATLAB “help”

• Help se može pozvatiIz komandnog prozoraIz MATLAB menija

Iz komandnog prozora

help help

Operacije sa matricamaKako se stvara matrica u MATLABu

A=[3.5]

B=[1.5, 3.1] ili

B=[1.5 3.1]

C=[-1, 0, 0; 1, 1, 0; 0, 0, 2];

“:” operator se korsti da bi se:• stvorile matrice sa konstantnom razlikom između susjednih elemenata

• pristupilo elementima ili djelovima postojećih matrica

• matrica pretvorila u stupac

Slučajni Brojevi

• rand(x)• Daje x puta x matricu slučajnih brojeva izmedju 0 i 1

• rand(n,m)• Daje n puta m matricu slučajnih brojeva izmedju 0 i 1

• Ovi brojevi su uniformno raspodijeljeni !

Page 10: AUTOMATIZACIJA - sfsb.unios.hrmcicak/AU/L1.pdf · 1.12.2017. 1 AUTOMATIZACIJA Laboratorijske vježbe –MatLab/Simulink (Octave, Scilab) 1.Uvod u MatLab (Octave, Scilab) 2.Matematičko

1.12.2017.

10

POLINOMI

U teoriji sustava i automatizaciji prijenosne funkcije sustava definiraju se

razlomcima s polinomima u brojniku i nazivniku.

Kako se u Matlabu definiraju polinomi ?

p=x5 + 3x2 – 4x + 21

Polinomi se u Matlabu predstavljaju s vektorima koji sadržavaju

koeficijente uz pojedine potencije varijable x

Korijeni polinoma traže se naredbom roots():

Funkcije za rad sa polinomima

Funkcija Opis

x=roots(P) Korijeni polinoma P

P=poly(x)Vraća polinom na temelju korijena

polinoma

R=conv(P,Q) Množenje polinoma P i Q

[R,S]=deconv(P,Q)Dijeljenje polinoma P/Q (R je

rezultat dijeljenja a S ostatak)

Q=polyder(P) Derivacija polinoma P

P=polyfit(x,y,n)

Metodom najmanjih kvadrata

računaju se koeficijenti polinoma

P(x) n-tog reda

Skripte Funkcije

Ima nastavak .m

Varijable možemo koristiti i u radnom prostoru, odnosno iz tog radnog prostora

Sadrže niz Matlabovih naredbi

Ima nastavak .m

Prvi red mora biti red s definicijom funkcije

Varijable su lokalne

Prihvaćaju podatke putem ulaznih argumenata, a vraćaju preko izlaznih

Kada snimamo funkcijsku datoteku, dajemo joj ime jednako imenu funkcije

Funkcije za rad sa polinomima

P(x)=x3-5x2+8x-6

Q(x)=x2-4x+3

P(x)Q(x)

P(x)/Q(x)

P’(x)

>> P=[1 -5 8 -6];

>> Q=[1 -4 3];

>> R=conv(P,Q)

R =

1 -9

31 -

53

48 -18

>> R=polyder(P) R =

3 -10 8

>> [R,S]=deconv(P,Q)

R =

1 -1

S =

0 0 1 -3

8.0000 -6.0000

P(x)

Q(x)

>> R=roots(P) R

=

3.0000

1.0000 + 1.0000i

1.0000 - 1.0000i

>> P=poly(R) P

=

1.0000 -5.0000

Množenje

Dijeljenje

Derivacija

Korijeni

polinom na temelju korijena

POLINOMI Polinomi se množe naredbom conv() : Pomnoži dva polinoma (x2 + 3x + 2)*(4x+2)

Za dijeljenje polinoma služi naredba deconv():

pri čemu je n kvocijent, a r ostatak dijeljenja, tj. vrijedi: p1/p2 = n + r/p2

!

Grafičke funkcije – 2D

Važnije funkcije (plot, bar, stem, stairs)

Kao prvi korak potrebno generirati vektor x koji sadrži vrijednosti u kojima se izračunava funkcija y=f(x), te nakon izračunavanja graf funkcije se iscrtava.

Ove funkcije primaju i dodatne parametre koji definiraju izgled samog grafa (npr. boja i vrsta linija)

>>plot(x,y)

Page 11: AUTOMATIZACIJA - sfsb.unios.hrmcicak/AU/L1.pdf · 1.12.2017. 1 AUTOMATIZACIJA Laboratorijske vježbe –MatLab/Simulink (Octave, Scilab) 1.Uvod u MatLab (Octave, Scilab) 2.Matematičko

1.12.2017.

11

Osnovna naredba dvo-dimenzionalne grafike u MATLABu je plot.

Potrebno je nacrtati funkciju y=sin(x) od 0 do

2 P sa 30 točaka.

Osnovna naredba dvo-dimenzionalne grafike u MATLABu je plot.

Potrebno je nacrtati funkciju y=sin(x) od 0 do

2 P sa 30 točaka

>> x=linspace(0,2*pi,30); % od 0 do 2pi generira 30 točaka

>> y=sin(x);

>> plot(x,y)

Osnove grafike u MATLABu

• Crtanje i označavanje dvodimenzionalnih grafova

• Podešavanje izgleda vaših crteža

• Upotreba “subplot” opcije

• Trodimenzionalni crteži

• Interaktivni grafički alati

1 2 3 4 50

2

4

6

8

A bargraph of vector x

1 20

2

4

6

8

A bargraph of matrix y

12

34

51

2

0

5

10

A three dimensional bargraph

5%10%

25%

20%

40%

A pie chart of x

Inženjeri obično dodaju i …

• Naslov

• Ime za X osu, i jedinice

• Ime za Y osu, i jedinice

• često je korisno dodati i mrežu preko slike

xlabel (‘x os’) – dodavanje naziva x osi

ylabel (‘y os’) – dodavanje naziva y osi

title (‘Graf funkcije’) – dodavanje naziva grafu

grid on /grid off – dodavanje mreže

Grafičke funkcije – 2D (opcije)

Oznaka Boja Oznaka Tip linije

y Žuta - Puna

m Ljubičasta : Točkasta linija

c Svjetloplava -. Crta točka

r Crvena -- Isprekidana linija

g Zelena

b Plava

w Bijela

k Crna

Grafičke funkcije – 2D (opcije)

semilogy

Nova slika

Figure

Više odvojenih grafova na istoj slici

subplot

figure, plot(x,y,’r’);

subplot(211), plot(x1,y1,’r’);

subplot(212), plot(x2,y2,’k’);

semilogx(x,y,’r’);

semilogy(x2,y2,’k’);

Crtanje na logaritamskoj skali

semilogx

Page 12: AUTOMATIZACIJA - sfsb.unios.hrmcicak/AU/L1.pdf · 1.12.2017. 1 AUTOMATIZACIJA Laboratorijske vježbe –MatLab/Simulink (Octave, Scilab) 1.Uvod u MatLab (Octave, Scilab) 2.Matematičko

1.12.2017.

12

76

X=1:10

Y1=2*X+3

Y2=3*X-1

Plot(X,Y1,’r’,X,Y2,’g’)

1 2 3 4 5 6 7 8 9 100

5

10

15

20

25

30

X=1:10;

Y1=2*X+3;

Y2=3*X-1;

plot(X,Y1,'r',X,Y2,'g')

Više grafova na jednom crtežu• Svaki put kada izdate naredbu “plot” MATLAB briše postojeći crtež

• Da bi se otvorila nova slika, koristi se funkcija “figure”, npr.figure(2)

Naredba plot(x) crta vektor x na način da se na x-os nanose indeksi vektora x, a

na y-osi nalaze se vrijednosti vektora. Zadane točke međusobno se spajaju

ravnim linijama:

Crteži sa više grafova

• hold on • Zadržava postojeći crtež tako da se novi graf može

crtati preko postojećeg

• Kod ovog pristupa novi graf će po definiciji biti nacrtan plavom bojom

Ova krivulja je u plavoj boji hold on komanda

zadržava postojeći crtež

Drugi crtež je

takodjer

nacrtan

koristeći plavu

boju

hold off komanda

prekida zadržavanje

grafova na slici

Page 13: AUTOMATIZACIJA - sfsb.unios.hrmcicak/AU/L1.pdf · 1.12.2017. 1 AUTOMATIZACIJA Laboratorijske vježbe –MatLab/Simulink (Octave, Scilab) 1.Uvod u MatLab (Octave, Scilab) 2.Matematičko

1.12.2017.

13

Svaki par varijabli

u plot komandi će

proizvesti novi

graf.

Jednom komandom je moguće istovremeno iscrtati više

krivulja

Koristeći ovaj način, svaki graf je druge boje

Svaki par varijabli

u plot komandi će

proizvesti novi

graf.

Jednom komandom je moguće istovremeno iscrtati više

krivulja

Koristeći ovaj način, svaki graf je druge boje

peaks(100)

instrukcija stvara

100x100 matricu

čije se vrijednosti

mogu prikazati

pomoću “plot”

funkcije koja daje

100 različitih

grafova.

Subplot

• subplot komandom se prozor u kome se crta može podijeliti na više pod-prozora u kojima se mogu prikazati crteži

• subplot(m,n,p)

broj

red

broj

stupca

broj slike

(položaj)

subplot(2,2,1)

2 reda

2 stupca

1 2

3 4

-20

2

-20

2

-5

0

5

x

Peaks

y 2 reda i 1 stupac

Page 14: AUTOMATIZACIJA - sfsb.unios.hrmcicak/AU/L1.pdf · 1.12.2017. 1 AUTOMATIZACIJA Laboratorijske vježbe –MatLab/Simulink (Octave, Scilab) 1.Uvod u MatLab (Octave, Scilab) 2.Matematičko

1.12.2017.

14

x-y plot – linearna

podjela na obje osi

semilogx – log

podjela na x osi

semilogy – log

podjela na y osi

loglog – log podjela

na obje osi

% crtanje

x=[0:0.1:10];

y=x.^2-2*x;

plot(x,y) % nacrtaj grafikon x,y

grid on % uključi rešetku

title('Grafik funkcije'); %naslov grafikona

xlabel('x');

ylabel('y');

Primjer skripte

Rezolucija x osi (5)