24
6.1.2015 1 O MATLAB-U Što je MATLAB? MATLAB je jedan od nekolicine komercijalnih matematičkih software paketa/alata Postoje još i Maple Mathematica MathCad MATLAB je naročito dobar za Matematičke operacije Posebno ako one uključuju i operacije sa matricama Računalnu grafiku i vizuelno prikazivanje rezultata MATLAB = Matrix Laboratory Matlab je interaktivni program za inženjerske i znanstvene proračune. Služi za rješavanje različitih matematičkih problema, te izračunavanja i simulacije vezane uz identifikaciju, upravljanje i regulaciju sustava. Kako se i gdje sve Matlab koristi u tehnici? Matlab postaje sve popularniji i sve više se koristi u industriji/kompanijama upotrebljava se za matematiku i računanje razvoj algoritama modeliranje, simulaciju, analizu analizu i obradu podataka, vizualizaciju znanstvenu i inžinjersku grafiku Svaka naredba mora završiti tipkom Enter – u nastavku teksta koristit ćemo oznaku <ent>. Matlab sve podatke tretira kao matrice; 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 …. Elektrotehnika Gornje slike predstavljaju simulaciju sistema vida obične muhe. Simulacija je razvijena koristeći MATLAB a sličan sistem je razvijen za navigaciju autonomnih robota u industriji.

6.1.2015 O MATLAB-U Što je MATLAB? - UNIOSmcicak/AU/OMprezentacija.pdf6.1.2015 3 Riješavanje problema •Ovdje na scenu stupa MATLAB i programiranje u MATLABu •Ne štedite na komentarima

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 6.1.2015 O MATLAB-U Što je MATLAB? - UNIOSmcicak/AU/OMprezentacija.pdf6.1.2015 3 Riješavanje problema •Ovdje na scenu stupa MATLAB i programiranje u MATLABu •Ne štedite na komentarima

6.1.2015

1

O MATLAB-UŠto je MATLAB?

• MATLAB je jedan od nekolicine komercijalnih matematičkih software paketa/alata

• Postoje još i• Maple

• Mathematica

• MathCad

MATLAB je naročito dobar za

• Matematičke operacije

• Posebno ako one uključuju i operacije sa matricama

• Računalnu grafiku i vizuelno prikazivanje rezultata

• MATLAB = Matrix Laboratory

• Matlab je interaktivni program za inženjerske i znanstvene proračune.

Služi za rješavanje različitih matematičkih problema, te izračunavanja

i simulacije vezane uz identifikaciju, upravljanje i regulaciju sustava.

Kako se i gdje sve Matlab koristi u

tehnici?

• Matlab postaje sve popularniji i sve više se koristi u

industriji/kompanijama

• upotrebljava se za• matematiku i računanje

• razvoj algoritama

• modeliranje, simulaciju, analizu

• analizu i obradu podataka, vizualizaciju

• znanstvenu i inžinjersku grafiku

• Svaka naredba mora završiti tipkom Enter – u nastavku teksta

koristit ćemo oznaku <ent>.

• Matlab sve podatke tretira kao matrice;

• 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 ….

Elektrotehnika

Gornje slike predstavljaju simulaciju sistema vida obične

muhe. Simulacija je razvijena koristeći MATLAB a sličan

sistem je razvijen za navigaciju autonomnih robota u industriji.

Page 2: 6.1.2015 O MATLAB-U Što je MATLAB? - UNIOSmcicak/AU/OMprezentacija.pdf6.1.2015 3 Riješavanje problema •Ovdje na scenu stupa MATLAB i programiranje u MATLABu •Ne štedite na komentarima

6.1.2015

2

Biomedicina

Ove slike predstavljaju rezultate snimanja i praćenja aktivnosti čovjekovog

mozga koristeći magnetnu rezonanciju (MRI instrument). Komplet ovih slika

je dostupan u MATLABU i moguće ga je koristiti da bi korisnici razvili i

testirali svoje programe i tehnike.

Dinamika Fluida

Rezultati modeliranja problema u strojarstvu koristeći metodu

konačnih elemenata predstavljeni u MATLABu

Riješavanje Problema uz Pomoć Matlab-a 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

Postavljanje Problema

• Ako nemate sasvim jasnu ideju i ne možete opisati vaš

problem kako treba, mali su izgledi da ga uspješno riješite

• Crtanje dijagrama ili slike obično pomaže

Ulazne i izlazne vrijednosti

• Točno koristite mjerne jedinice

• Idenitificirajte konstante

• Označite vaš dijagram sa svim vrijednostima koje su u igri

• Složite sve vrijednosti o problemu u tablicu

Razvijanje Algoritma

• Upotrijebite točne jednadžbe koje uključuju i opisuju sve varijable i vrijednosti u vašem problemu

• Pokušajte postaviti jednostavan primjer vašeg problema i prvo proći kroz njega “na papiru”

• Crtanje blok dijagrama (flow chart) je obično od velike korisiti i preporučuje se u ovoj fazi

Page 3: 6.1.2015 O MATLAB-U Što je MATLAB? - UNIOSmcicak/AU/OMprezentacija.pdf6.1.2015 3 Riješavanje problema •Ovdje na scenu stupa MATLAB i programiranje u MATLABu •Ne štedite na komentarima

6.1.2015

3

Riješavanje problema

• Ovdje na scenu stupa MATLAB i programiranje u

MATLABu

• Ne štedite na komentarima u vašem programu; ovo

pomaže drugima (a i vama) da kasnije razumiju i koriste

(ili promijene) vaš program

Provjeravanje riješenja

• Usporedite sa rezultatom koji ste dobili koristeći “papir i olovku”

• Imaju li vaši rezultati uopće nekog smisla?

• Je li vaš odgovor uopće ono što se traži?

• Grafički prikaz rezultata je često vrlo koristan da bi se bolje i potpunije provjerili rezultati MATLAB programa

Ako se pridržavate pravila kod riješavanja vaših problema

MATALBom povećavate šanse da dodjete do točnog

riješenja

Sljedi mali primjer….

Ukratko

• MATLAB se jako puno (i sve više) koristi u

obrazovanju i industriji

• MATLAB je lak za učenje i korištenje

• Sistematski prilaz riješavanju problema u

MATLABu vam povećava šanse da problem

uspiješno riješite

Octave

• Octave je jezik visokog stupnja namijenjen numeričkom rješavanju matematičkih problema vrlo sličan komercijalnom programskom paketu Matlab.

• S programom dolazi mnoštvo alata za rješavanje klasičnih numeričkih problema kao što su nalaženje korijena polinoma, numeričko integriranje, deriviranje, manipulaciju polinomima itd.

• Značajke: • Napravljen za Linux operacijski sustav

• Besplatan je

• On-line verzija: www.csc.unist.hr/~slap/octave/octave-on-line.php

Što je MATLAB?

• MATLAB je i okružje 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

Page 4: 6.1.2015 O MATLAB-U Što je MATLAB? - UNIOSmcicak/AU/OMprezentacija.pdf6.1.2015 3 Riješavanje problema •Ovdje na scenu stupa MATLAB i programiranje u MATLABu •Ne štedite na komentarima

6.1.2015

4

Komandni prozor

Komande se unose kod “>>”

odziva

Tekući Direktorij

MATLAB Prozori

Prethodno izdane

komande Radni prostor

Komandni

prozor možete

koristiti kao

obično

računalo

Standardni

redoslijed

operacija važi i

u Matlabu

MATLAB Prozori

• Da bi prikazao relevantne podatke, komande

(naredbe), rezultate MATLAB koristi nekoliko

prozora

• Svi prozori ne moraju biti otvoreni ili vidljivi u

svakom trenutku rada sa MATLABom

Proučimo malo svaki od osnovnih Matlab

prozora

Komandni (naredbeni) prozor

• Sličan listu papira na kom ispisujete

razne komande

• Kada pritisnete tipku “enter”, komanda

se više ne može mijenjati

• Možete je ponovo otkucati ili ju pozvati

koristeći tipku sa strijelicom (↑) prije

nego ponovo otipkate “enter”

Prethodne komande

• Zadnje MATLAB komande su obično

prikazane u komandnom prozoru

• Komandni prozor se može očistiti tako

da se zatvori i ponovo otvori, ili (lakše)

ako se izda “clc” komanda

• Izdane komande ostaju i dalje

zapamćene dok se MATLAB ne zatvori

Prethodno izdane Matlab

komande

Page 5: 6.1.2015 O MATLAB-U Što je MATLAB? - UNIOSmcicak/AU/OMprezentacija.pdf6.1.2015 3 Riješavanje problema •Ovdje na scenu stupa MATLAB i programiranje u MATLABu •Ne štedite na komentarima

6.1.2015

5

Prethodne komande

• Prethodno izdane komande se mogu lako

prebaciti u komandni prozor i na taj način

“reaktivirati”

• Dvostrukim “klikom” miša

• Jednostrukim “klikom” miša i prevlačenjem izabrane

komande u komandni prozor

Radni prostor (prozor?)

• Sadrži informacije o varijablama koje ste definirali tokom rada u MATLABu• Ime

• Vrijednost

• Vrsta varijable

• Veličina

• Dio memorije koju varijabla zauzima (broj bajta)

• Ove podatke možete dobiti klikom na ime varijable koja vas interesuje

Radni prostor

Varijable koje se definiraju u

komandnom prozoru (ili se

izračunaju nakon izdate MATLAB

komande) će nakon toga biti

prikazane u radnom prostoru.

Skalar

Vektor

Matrica

(2D)

Page 6: 6.1.2015 O MATLAB-U Što je MATLAB? - UNIOSmcicak/AU/OMprezentacija.pdf6.1.2015 3 Riješavanje problema •Ovdje na scenu stupa MATLAB i programiranje u MATLABu •Ne štedite na komentarima

6.1.2015

6

Tekući Direktorij

• Tekući direktorij je prozor koji sadrži listu

dokumenata koji se nalaze u tom direktoriju

• Ako želite unijeti podatke iz nekog dokumenta

ili spremiti nove podatke u novi dokument,

MATLAB prvo “gleda” u tekući direktorij

Dokument Prozor

• Ako odaberete neku od varijabli u

radnom prostoru (dvostrukim “klikom”

na nju) MATLAB će otvoriti novi,

dokument, prozor koji ima ulogu editora

varijabli u Matlab prostoru (array

editor)

• Koristeći ovaj editor možete mijenjati

vrijednosti varijabli u radnom prostoru.

Dokument Prozor

(Prozor) Slike

• Kada izdate neku od komandi za grafički

prikaz rezultata, MATLAB će otvoriti novi

prozor u kom će prikazati sliku

• Lakoća kojom se stvaraju i prikazuju slike u

MATLABu je jedna od najvećih prednosti ovog

paketa

točka-zarez - “;” - sprječava

prikaz rezultata izdate

operacije u Matlabu

Page 7: 6.1.2015 O MATLAB-U Što je MATLAB? - UNIOSmcicak/AU/OMprezentacija.pdf6.1.2015 3 Riješavanje problema •Ovdje na scenu stupa MATLAB i programiranje u MATLABu •Ne štedite na komentarima

6.1.2015

7

Editor (Prozor)

• U ovom prozoru možete otkucati niz komandi

bez potrebe da ih izdajete/izvodite jednu za

drugom

• Editor možete otvoriti

• Iz “file” menija

• Pomoću “file” ikone na traci menija

Otvaranje Editora

Riješavanje Problema uz Pomoć

MATLABa

• Pogledajmo sada kako MATLAB radi na nekim

primjerima

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 se onda

mogu koristiti u narednim komandama

Imenovanje varijabli

• Sva imena moraju započeti slovima

• Imena varijable mogu sadržavati slova,

brojeve i znak “ _”)

• MATLAB pravi razliku izmedju malih i

velikih slova

• Neke ključne MATLAB riječi se ne mogu

korstiti kao imena varijabli

Matrice u MATLABuOsnovna vrsta varijabli

• Grupa brojeva rasporedjena u redove i

kolone

• Jedan broj (Skalar)

• MATLAB ga tretira kao matricu sa samo

jednim redom i jednom kolonom

• Vektor (Jednodimenzionalna matrica)

• Jedan red ili jedna kolona

• Matrica (Dvije dimenzije)

Page 8: 6.1.2015 O MATLAB-U Što je MATLAB? - UNIOSmcicak/AU/OMprezentacija.pdf6.1.2015 3 Riješavanje problema •Ovdje na scenu stupa MATLAB i programiranje u MATLABu •Ne štedite na komentarima

6.1.2015

8

Operacije sa skalarima• MATLAB se može koristiti kao jednostavan

džepni kalkulator

>> 9 + 10

ans=19

Komandni

odziv

Rezultat

Dodjeljivanje vrijednosti varijablama

• Da bi smo dodijelili vrijednost varijabli a

možemo npr. upotrijebiti ovu komandu

a=1+2

“a” će nakon ovoga imati vrijednost 1+2

Dodjeljivanje vrijednosti nekoj vrijabli

pomoću “=“ je malo drugačije od znaka

jednakosti u Matematici? 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) not 5(3+4)

Operacije sa matricama

• Upotreba MATLABa kao malo jačeg džepnog

računala je OK, ali se prava snaga MATLABa

krije u operacijama sa matricama

Page 9: 6.1.2015 O MATLAB-U Što je MATLAB? - UNIOSmcicak/AU/OMprezentacija.pdf6.1.2015 3 Riješavanje problema •Ovdje na scenu stupa MATLAB i programiranje u MATLABu •Ne štedite na komentarima

6.1.2015

9

Da bi ste u radnom prostoru stvorili vektor –

jednodimenzionalnu matricu, koristite

pravokutne zagrade – [ ]

Između pojedinačnih brojeva u

vektoru možete upotrijebiti ili prazan

prostor ili zareze

Korištenje točka-zareza umijesto zareza ili

praznih prostora će brojeve rasporediti u

kolonu umjesto u redak

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

novi red

Korisno: Da bi ste lakše pratili koliko ste

elemenata unijeli u pojedine redove, dobro

je korisiti novu liniju u komandnom prostoru

za svaki novi red.

Korištenje prečica

• Dok se neke komplicirane matricemoraju unositi pažljivo, “ručno”, unos je puno lakši ako se radi o matricama saelementima koji su pravilnoraspoređeni. Instrukcija

b= 1:5

ili

b = [1:5]

će stvoriti vektor u jednom redu

Page 10: 6.1.2015 O MATLAB-U Što je MATLAB? - UNIOSmcicak/AU/OMprezentacija.pdf6.1.2015 3 Riješavanje problema •Ovdje na scenu stupa MATLAB i programiranje u MATLABu •Ne štedite na komentarima

6.1.2015

10

Razlika izmedju elemenata matrice ili

vektora je 1 po definiciji, ako želite

neku drugu razliku, umetnite je

izmedju početne i krajnje vrijednosti

Za automatsko izračunavanje razmaka

izmedju elemenata možete koristiti …

• linspace

• logspace

Početna

vrijednost

Završna vrijednost

Broj elemenata u vektoru

ili matrici

Početna

vrijednost

izražena kao

stupanj broja 10

Završna vrijednost

izražena kao

stupanj broja 10

Broj elemenata

Korisna napomena

• U instrukciji koja definira elemente matrice se

može upotrijebiti i matematička operacija

• Na primjer:

a = [0: pi/10: pi]

Operacije sa Matricama i Vektorima

• Množenje .*

• Dijeljenje ./

• Eksponencijalne funkcije .^

Dimenzije matrica ili vektora moraju biti iste.

Page 11: 6.1.2015 O MATLAB-U Što je MATLAB? - UNIOSmcicak/AU/OMprezentacija.pdf6.1.2015 3 Riješavanje problema •Ovdje na scenu stupa MATLAB i programiranje u MATLABu •Ne štedite na komentarima

6.1.2015

11

Zahvaljujući matricama ponavljanje istih operacija u MATLABu je jednostavno

• Ako, na primjer, imate veliki broj kutova datih u

stupnjevima koje treba pretvoriti u radijane,

najbolje je

• Prvo ih sortirati u vektor (ili matricu)

• Potom izvršiti pretvaranje u radijane

“*” ili “.*” će dati točan rezultat u

ovom slučaju, jer se radi o operaciji

izmedju skalara i matrice, tj. vektora

Vrijednost “pi” postoji u MATLABu

(“ugradjena” konstanta)

Spremite čitav rad koristeći meni...

Spremite čitav rad iz komandnog prozora

koristeći komandu “save”

MATLAB kod spremanja koristi .mat

dokumente

• Ako želite da koristite neki drugi format npr.

.dat, ovo morate navesti u komandi

save <file_name> <variable_list> -ascii

Znak “%” se koristi za komentar u

Matlabu

Potreban je jedan “%” znak za

svaku liniju u koju stavljate

komentar

Page 12: 6.1.2015 O MATLAB-U Što je MATLAB? - UNIOSmcicak/AU/OMprezentacija.pdf6.1.2015 3 Riješavanje problema •Ovdje na scenu stupa MATLAB i programiranje u MATLABu •Ne štedite na komentarima

6.1.2015

12

WHOSEdaje nam popis svih varijabli koje se trenutno nalaze u radnom prostoru (workspace-u), njihove dimenzije te koliko memorije zauzimaju.

-budući da smo dosad kreirali varijable A, B, x, y i z, rezultat naredbe who biti će:

NAREDBE WHOS, CLEAR I HELP

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

PRE-DEFINIRANE (UGRAĐENE)

MATLAB FUNKCIJE

0 200 400 600 800 10000

20

40

60

80

100Test Scores

Student Number

Score

0 20 40 60 80 1000

20

40

60

80

100

120Distribution of Test Scores

Score

# o

f stu

dents

0 200 400 600 800 10000

20

40

60

80

100

Student Number

Score

0 20 40 60 80 1000

20

40

60

80

100

120

Score

# o

f stu

dents

Average = 50

Average = 50

Average = 50

Average = 50

Ugrađene funkcije...

• Matlab Funkcije

• Matlab Help

• Osnovne Matematičke Funkcije

• Trigonometrijske Funkcije

• Funkcije za Analizu Podataka

• Funkcije Slučajnih Vrijednosti

• Funkcije za Rad sa Kompleksnim Brojevima

• Specijalne Vrijednosti i Druge Funkcije

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

Neke funkcije mogu (ili moraju) imati više

ulaznih vrijednosti

• Funkcija “remainder” izračunava

ostatak dijeljenja

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

Page 13: 6.1.2015 O MATLAB-U Što je MATLAB? - UNIOSmcicak/AU/OMprezentacija.pdf6.1.2015 3 Riješavanje problema •Ovdje na scenu stupa MATLAB i programiranje u MATLABu •Ne štedite na komentarima

6.1.2015

13

Neke funkcije daju

više izlaznih vrijednosti

• Funkcija “size” daje dimenzije matrice – broj

redova i kolona

Rezultatu se obično daje ime koje se

kasnije može upotrijebiti u nastavku

programa

MATLAB funkcije mogu uraditi

(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 pozvati• Iz komandnog prozora

• Iz MATLAB menija

Iz komandnog prozora

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 14: 6.1.2015 O MATLAB-U Što je MATLAB? - UNIOSmcicak/AU/OMprezentacija.pdf6.1.2015 3 Riješavanje problema •Ovdje na scenu stupa MATLAB i programiranje u MATLABu •Ne štedite na komentarima

6.1.2015

14

Ukratko

• MATLAB sadrži veliki broj ugrađenih (predefiniranih) funkcija• Osnovne Matematičke Funkcije

• Trigonometrijske Funkcije

• Funkcije za Analizu Podataka

• Slučajni Brojevi

• Kompleksni Brojevi

Ukratko

• Dvotočka (“:”) je vrlo koristan MATLAB operator za

operacije sa matricama

Ukratko

• MATLAB ograničenja

• Specijalne Vrijednosti i Funkcije

Page 15: 6.1.2015 O MATLAB-U Što je MATLAB? - UNIOSmcicak/AU/OMprezentacija.pdf6.1.2015 3 Riješavanje problema •Ovdje na scenu stupa MATLAB i programiranje u MATLABu •Ne štedite na komentarima

6.1.2015

15

MATLAB I

MATRICEOperacije sa matricama

• Počnimo sa jednostavnim stvarima

• Da bi se stvorila matrica u MATLABU njezini elementi se

unose pomoću pravkutnih zagrada

Kako se stvara matrica u MATLABu

• A=[3.5]

• B=[1.5, 3.1] or

• B=[1.5 3.1]

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

Obično je bolje i preglednije svaki red

matrice unijeti u novoj liniji

C = [-1, 0, 0

1, 1, 0

1, -1, 0

0, 0, 2]

F = [1, 52, 64, 197, 42, -42, …

55, 82, 22, 109];

Ako linija postane preduga “...” se

može upotrijebiti da bi smo ju

rastavili na dva ili više

dijelova/linija

Skalar

Page 16: 6.1.2015 O MATLAB-U Što je MATLAB? - UNIOSmcicak/AU/OMprezentacija.pdf6.1.2015 3 Riješavanje problema •Ovdje na scenu stupa MATLAB i programiranje u MATLABu •Ne štedite na komentarima

6.1.2015

16

Vektor – zarezi

nisu obavezni

Veće matrice se mogu definirati i koristeći postojeće,

manje matrice

Ili… Operator “:”

• Se može koristiti kod stvaranja novih matrica

• Ili da bi se izmjenile vrijednosti postojećih elemenata u

matrici

• Ili da bi se samo pristupilo elementima matrice

Ukratko – “:” operator

• “:” operator se korsti da bi se:

• stvorile matrice sa konstantnom razlikom izmedju susjednih

elemenata

• pristupilo elementima ili djelovima postojećih matrica

• matrica pretvorila u stupac

OSNOVE GRAFIKE U

MATLABU

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

Page 17: 6.1.2015 O MATLAB-U Što je MATLAB? - UNIOSmcicak/AU/OMprezentacija.pdf6.1.2015 3 Riješavanje problema •Ovdje na scenu stupa MATLAB i programiranje u MATLABu •Ne štedite na komentarima

6.1.2015

17

• Crtanje i označavanje dvodimenzionalnih grafova

• Podešavanje izgleda vaših crteža

• Upotreba “subplot” opcije

• Trodimenzionalni crteži

• Interaktivni grafički alati

Dvodimenzionalni crteži

• “xy” je najčešće korišten graf u tehnici

• Nezavisna varijabla je obično x

• Zavisna varijabla je y

Primjer podataka za xy graf

time, sec Distance, Ft

0 0

2 0.33

4 4.13

6 6.29

8 6.85

10 11.19

12 13.19

14 13.96

16 16.33

18 18.17

Vrijeme (time) je

nezavisna

varijabla,

udaljenost

(distance) je

zavisna varijable

Definirajte x i y i pozovite “plot” funkciju

Umjesto x i y, obično se koriste imena koja

odgovaraju problemu koji analiziramo

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

Page 18: 6.1.2015 O MATLAB-U Što je MATLAB? - UNIOSmcicak/AU/OMprezentacija.pdf6.1.2015 3 Riješavanje problema •Ovdje na scenu stupa MATLAB i programiranje u MATLABu •Ne štedite na komentarima

6.1.2015

18

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)

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

Jednom komandom je moguće

istovremeno iscrtati više krivulja

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

Page 19: 6.1.2015 O MATLAB-U Što je MATLAB? - UNIOSmcicak/AU/OMprezentacija.pdf6.1.2015 3 Riješavanje problema •Ovdje na scenu stupa MATLAB i programiranje u MATLABu •Ne štedite na komentarima

6.1.2015

19

Svaki par varijabli

u plot komandi će

proizvesti novi

graf.

Varijacije

• Ako “plot” komandi date matricu, MATLAB tretira vrijednosti u matrici kao y varijablu a index svakog elementa kao x varijablu

• Matrice se obično crtaju koristeći “bar” komandu

• Ako su pak nacrtane koristeći “plot” komandu, tj. kao xy graf, zovemo ih linijskim grafovima

Ako želite nacrtati više setova y varijabli za isti x set

• Možete upotrijebiti “plot” komandu na sljedeći način

• plot(x,y1,x,y2,x,y3,x,y4)

• Ili sve y setove sačuvati u matricu pa onda upotrijebiti

linijski graf za crtanje matrice

• z=[y1,y2,y3,y4]

• plot(x,z)

Matrica Z sadrži

sve setove y

vrijednosti

peaks(100)

instrukcija stvara

100x100 matricu

čije se vrijednosti

mogu prokazati

pomoću “plot”

funkcije koja daje

100 različitih

grafova.

Page 20: 6.1.2015 O MATLAB-U Što je MATLAB? - UNIOSmcicak/AU/OMprezentacija.pdf6.1.2015 3 Riješavanje problema •Ovdje na scenu stupa MATLAB i programiranje u MATLABu •Ne štedite na komentarima

6.1.2015

20

Prikazivanje Kompleksnih Vektora i

Matrica• Ako se kao ulazna vrijednost za plot komandu koristi

matrica ili vektor čiji su elementi (svi ili neki od njih)

kompleksne vrijednosti, MATLAB koristi realne vrijednosti

kao x varijablu a imaginarne kao y varijablu.

Dva vektora koji sadrže kompleksne

brojeve• Ako kao ulazne vrijednosti plot funkcije

upotrijebite dva vektora sa kompleksnim

brojevima, imaginarni dijelovi ovih brojeva će biti

ignorirani (realne vrijednosti prvog vektora će biti

upotrijebljene kao vrijednosti na x-osi a realne

vrijednosti drugog vektora kao vrijednosti y-osi)

plot(x,y,':ok')

• U ovom primjeru

• “:” označava točkastu liniju

• “o” označava krug kao simbol

• slovo “k” označava crnu boju linije za graf

točkasta linija

kružići

crna boja

Vrsta grafa se

treba naznačiti

nakon svakog

para x i y

varijabli, ako ih

ima više u jednoj

plot komandi

Page 21: 6.1.2015 O MATLAB-U Što je MATLAB? - UNIOSmcicak/AU/OMprezentacija.pdf6.1.2015 3 Riješavanje problema •Ovdje na scenu stupa MATLAB i programiranje u MATLABu •Ne štedite na komentarima

6.1.2015

21

Granične vrijednosti na osima

• MATLAB automatski postavlja granice svake ositako da sve vrijednosti jedne i druge varijable stanu na sliku

• Drugačije granične vrijednosti se mogu specificirati koristeći axis komandu

axis([xmin,xmax,ymin,ymax])

• Pokušajmo izmjeniti ove vrijednosti na slici koju smo upravo nacrtali

Automatski

dodjeljenje

granične

vrijednosti osi

se mijenjaju

koristeći axis

funkciju

Označavanje crteža

• Crtežima se u MATLABu takođe mogu dodati

• legenda

• tekst

• Crtežu osim toga treba svakako dodati i

• naslov

• oznake osi

Bolje označavanje crteža

Grčka slova se mogu koristiti pri označavanju crteža tako što se prije imena varijable stavi”\”.

Na primjer:

title(„\alpha \beta \gamma‟)

će proizvesti naslov:

α β γ

Za eksponent se koriste vitičaste zagrade

title(„x^{2}‟)

daje

x2

2x

Izmjena teksta

• Ove izmjene izgleda teksta su načinjene koristeći “Tex

Markup Language”

• Iskoristite Help u MATLABu da bi ste saznali više o

ovome!!

Page 22: 6.1.2015 O MATLAB-U Što je MATLAB? - UNIOSmcicak/AU/OMprezentacija.pdf6.1.2015 3 Riješavanje problema •Ovdje na scenu stupa MATLAB i programiranje u MATLABu •Ne štedite na komentarima

6.1.2015

22

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

Druge vrste dvodimenzionalnih grafova

• Polarni grafovi

• Logaritamski plotovi

• Bar grafovi

• Kružni grafovi

• Histogrami

• X-Y grafovi sa dvije y ose

Polarni grafovi

• Neke funkcije je lakše prikazati u polarnim nego u parvokutnim koordinatama

• Npr, jednadžba kružnice je• y=sin(x)

u polarnim koordinatama

Page 23: 6.1.2015 O MATLAB-U Što je MATLAB? - UNIOSmcicak/AU/OMprezentacija.pdf6.1.2015 3 Riješavanje problema •Ovdje na scenu stupa MATLAB i programiranje u MATLABu •Ne štedite na komentarima

6.1.2015

23

Logaritamski Grafovi

• Logaritamska podjela (baza 10) se koristi

• ako je raspon varijabli vrlo velik

• ako se vrijednost varijable mijenja eksponencijalno.

• plot – obje osi su imaju linearnu skalu

• semilogy – y-os ima log10 podjelu

• semilogx – x-os ima log10 scale podjelu

• loglog – obje osi imaju log10 podjelu

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

Bar i Kružna Grafika

• MATLAB posjeduje širok izbor bar i kružnih vrsta

grafova

• bar(x) – uspravni bar graf

• barh(x) – vodoravni bar graf

• bar3(x) – 3-D uspravni bar graf

• bar3h(x) – 3-D vodoravni bar graf

• pie(x) – kružni dijagram

• pie3(x) – 3-D kružni dijagram

Page 24: 6.1.2015 O MATLAB-U Što je MATLAB? - UNIOSmcicak/AU/OMprezentacija.pdf6.1.2015 3 Riješavanje problema •Ovdje na scenu stupa MATLAB i programiranje u MATLABu •Ne štedite na komentarima

6.1.2015

24