You are on page 1of 43

Prirodno-matematički fakultet – Univerzitet u Prištini sa privremenim

sedištem u Kosovskoj Mitrovici

MATLAB
(Skripta)

Studenti: Mentor:
Aleksandra Borzanović Negovan Stamenković
Nemanja Zdravković

2017. godina
SADRŽAJ:
2
1. RAZVOJ MATLAB-A.......................................................................... 4
1.1. Uvod u MATLAB........................................................... 4
1.2. Pokretanje i organizacija MATLABA............................. 6
2. SINTAKSA PROGRAMSKOG PAKETA MATLA............................... 8
2.1. Rad u komandnom prozoru(Command Window)......... 8
2.2. Aritmetičke operacije.................................................... 10
3. MATRIČNI NAČIN U MATLABU........................................................ 20
3.1. Generisanje matrica...................................................... 20
3.2. Adresiranje matrica....................................................... 21
3.3. Matematičke operacije sa matricama........................... 23
4. GRAFIČKI PRIKAZ U MATLABU....................................................... 24
4.1. Crtanje više grafika na jednom grafikonu...................... 25
5. SIMBOLIČKA ANALIZA...................................................................... 30
6. REŠAVANJE JEDNAČINA U MATLABU............................................ 36
6.1. Matrični način rešavanja sistema jednačina.................. 36
6.2. Levo i desno deljenje..................................................... 38
7. SKRIPT DATOTEKE, M-FAJLOVI...................................................... 39
7.1. Skript fajlovi................................................................... 40
7.2. Funkcije......................................................................... 41
7.2.1. Kontrolne petlje............................................. 42
LITERATURA............................................................................................... 44

1.RAZVOJ MATLAB-a
3
1.1. Uvod u MATLAB

MATLAB je okruženje za numeričke proračune i programski jezik četvrte


generacija koji je razvila firma MathWorks. Ime je dobio od reči Matrix Laboratory
(Matrična Laboratorija) i osnovni element podataka mu jje matrica.

Nastao je 70-tih godina 20 veka da bi se usavršio stariji jezik Fortan dok su ѕa


osnovu uzeti LINPACK i EISPACK ,ali kada su videli koliko nedostatka ima nastao je
novi program matlab. Matlab je izumeo Kliv Moler šef katedre za informatiku na
univerzitetu ‘ Novi Meksiko’.Matlab se proširio i na druge univerzitete i dobio veliku
podršku od lјudi koji se bave primenjenom matematikom.

U grupi programa za računanje u tehničkim naukama razvio se čitav niz


programa i od većih i poznatijih uz Matlab može se reći da su Matrix i Easy.Ovi
programi nastali su iz istih potreba i imaju slični korisniči interfejs i način rada,ali sama
izrada i struktura im je različita.

Dodaci su svrstani posledećim kategorijama:

 Matematika i optimizacija
 Statistika i analiza podataka

 Kontrola i analiza sistema

 Procesiranje signala i komunikacija

 Obrada slike

 Test i merenja

 Finansijsko modelovanje i analiza


4
 Povezivanje sa drugim aplikacijama

 Povezivanje baza podataka i izveštavanje

 Distribuirano računanje

Matlab omogućava lako manipulisanje matricama, prikazivanje funkcija i fitovanje,


implementaciju algoritma, stvaranje grafičkog korisničkog interfejsa kao i povezivanje
sa programima pisanim u drugim jezicima među kojima su C++ ,C,Java,Fortran,Puthon.

Izdvaja se i posebni modul koji je sastavni deo Matlaba poznatiji kao SIMULINK i
on služi za simulaciju dinamike sistema. Pored toga postoje i verzije Matlaba koje su
prilagođene za rad i u okviru mnogih drugih kompjuterskih sistema. Sistemi koji spadaju
u tu grupu su: Macintosh, Sun, Apollo, HP, DECstations i DEC VAX, Stardent Titan,
Convex, kao i za Alliant i Cray.

MATLAB je tako urađen da poseduje izvanredne mogućnosti koje pružaju


kreiranje funkcija koje se mogu kokristiti za specijalizovane oblasti primene. Sve
funkcije koje su nastale zahvalјujući ovoj mogućnosti, kao takve grupišu se u Toolbox-
obe. Pored funkcija koje napravimo sami za naše potrebe i svrhe u koje koristimo
program Matlab, on sam ima i neke svoje već ugrađene funkcije koje dobijamo pri
instalaciji neke od verzija ovog programa.

U već ugrađene funkcije spadaju: SIGNAL PROCESSING, CONTROL,


OPTIMIZATION, IDENTIFICATION, SYMBOLIC MATH i sl. Baš ova mogućnost
uvođenja novih alata predstavlјa prednost ovog programa za razliku od svih ostalih.
Matlab je prerađen 2000 godine, za lakši rad sa matricama. Najnovija verzija matlaba je
iz 2017. Godine.

1.2.POKRETANјE I ORGANIZACIJA MATLABA


5
Matlab je interaktivni matrični kalkulator interpretatorskog tipa, zasnovan na
varijablama koji omogućava matlab izvođenje matlab funkcija, i poseduje grafički
korisnički interfejs.Naziv Matlab je nastao od engleskih reči MATrix LABoratiry, što
zapravo označava da je osnovni zadatak ovog programa rad sa matircama i njegova
primena kod obrade mernih rezultata u laboratoriji.

Kao i kod svakog drugog programa i pokretanje matlaba se i njegovo pokretanje

počinje dvoklikom na ikonicu . Posle toga počinje pokretanje i pojavlјuje se


sledeće:

Prikazuje vam se koja je verzija


Matlaba, od kada postoji i broj licence.
(Slika 1)

Ovo se prikazuje dok se ne otvori


radni prostor Matlaba. Kada se
otvori on izgleda kao sto je
prikazano na Slici 2:
Slika 1.

6
Slika 2.

Kao što je prikazano na slici, osnovni prozor Matlaba sadrži četiri manja prozora i
svaki od njih ima različitu primenu pri korišćenju ovog programa. Osnovni prozor sadrži
Komandni prozor (Command window), prozor tekućeg direktorijuma(current folder),
prozor istorije komandi (Command History) i prozor sa podacima o upotreblјenim
promenlјivama (Workspace).

U sledećoj tabeli su navedeni svi prozori koji se mogu naći kao sastavni deo osnovnog
prozora Matlaba pri njegovom pokretanju uz kratko objašnjenje njihovog zadatka.

7
2. SINTAKSA PROGRAMSKOG PAKETA MATLAB

2.1. Rad u komandnom prozoru(Command Window)

Za pisanje komandi, izvršavanje komandi, pokretanje programa i upravlјanje


Matlabom koristi se komandni prozor.

Ono što moramo znati pre početka pisanja komandi je da kursor mora biti iza
komandnog odzivnika „(>>)“ koji označavaju da je program spreman za rad i primanje
komandi. Kada upišemo neku komandu ona će biti izvršena tek posle pritiskanja tastera
Enter. Ali moramo znati da se tako izvršava samo poslednja komanda dok sve ostale
ostaju nepromenjene. U istom redu možemo napisati i više komandi, međutim takve
komande moramo razdvojiti zarezom. Nakon toga one će se izvršavati sleva na desno.
Kada izvršimo neku komandu, neka to npr. Bude sabiranje dva broja, pritiskom na taster
Enter pojaviće se rezultat i to će izgledati kao na slici 3 I slici 4 :

8
Slika 3. Slika 4.

Ukoliko u ovom slučaju pritisnete na tastaturi strelicu nagore tj. (↑) onda će vam
se ponovo pojaviti vaša naredba koju ste upisali pre izvršenja. Ako pritisnete na tastaturi
strelicu nadole tj.(↓) onda će vam se pojaviti sve prethodno upisane komande.

Ukoliko imamo komandu koja je predugačka i ne može stati u jedan red onda
možemo staviti samo tri tačke tj. (...) i pritiskom na enter nastavlјamo pisanje u novom
redu. Jedna komanda koju upisujemo može imati do 4096 znakova. Ako unapred
znamo rešelјe tj rezultat naše komande i ne želimo da nam se to ispisuje u komandnom
prozoru ili pak je rezultat veliki onda sve što moramo da uradimo je da na kraju
komande stavimo tačku-zarez tj.(;) .

To bi u komandnom prozoru

izgledalo kao na slici 5:


Slika 5.

Ukoliko posle komande stavimo znak za procenat (%) onda se sve posle njega
računa kao komentar a ne utiče na izvršavanje komandi.(Slika 6.)

9
Slika 6.

Pored ovoga postoji i opcija clc koja se koristi za brisanje sadržaja u komandnom
prozoru, ali ona ne briše definisane promenlјive već samo sadržaj u komandnom
prozoru.

2.2. Aritmetičke operacije

Aritmetičke operacije koje se mogu koristiti u matlabu su:

- Sabiranje sa simbolom „+“;

- Oduzimanje sa simbolom „-“;

- Delјenje s leva sa simbolom „\“;

- Delјenje s desna sa simbolim „/“;

- Množenje sa simnolom „*“;

- Stepenovanje sa simbolom „^“;

Primeri sa kombinacijom svih operacija (Slika 7, Slika 8):


10
Slika 7. Slika 8.

Simboli prilikom zadavanja komandi pri rešavanju zadatih aritmetičkih operacije se


ne razliku od simbola koje koristimo na kalkulatoru, jedina novost je delјenje s leva koje
predstavnja inverziju denjelјa s desna.

Kada je reč o prioritetima prilikom računanja, takođe je i ono isto kao i kod većine
kalkulatora, glavni prioritet su zagrade (ukoliko ih ima), odmah posle njih stepenovanje
brojeva, zatim množenje i delјenje i na samom kraju idu aritmetičke operacije sabiranja i
oduzimanja.

Primer sa kombinovanjem zagrada i utrvđivanja prioriteta (Slika 9.,Slika 10.):

11
Slika 9. Slika 10

Prilikom aritmetičkih operacija u Matlabu možemo sami birati kojeg formata će nam
biti prikaz rezultata, ukoliko ne odaberemo on ima svoj fiksni prikaz koji je poznatiji kao
format short koji prikazuje rezultat sa 4 decimale. Pored ovog fomata postoje i sledeći
formati prikazivanja rezultata:

- format long: Prikaz rezultata sa 14 decimala. Obuhvata opseg 0.001 ≤ broj ≤ 100 Za
sve ostale brojeve van ovog opsega primenjuje se format long e.

- format short e: Naučna notacija sa 4 decimale;

- format long e: Naučna notacija sa 15 decimala;

- format short g: Pet cifara sa fiksnim ili pokretnim zarezom;

- format long g: Petnaest cifara sa fiksnim ili pokretnim zarezom,

- format bank:Dve decimale;

- format compact: Nјegova namena je da uklanja prazne redove da bi stalo što više.

- format loose: odabirom ovog formata dodaju se prazni redovi.

Primer sa upotrrbom svih formata (Slika 11,Slika 12):

12
Slika 11. Slika 12.

Postoje i određene elementarne aritmetičke funkcije koje su ugrađene u Matlab i koje su


veoma koriste. Sve funkcije koje su ugrađene se mogu pronaći u prozor sistema za
pomoć.

Neke od bitnijih elementarnih funkcija su:

- sqrt: Kvadratni koren;

- nthroot(x,n): n-ti koren nekog zadatog broja (Ako je broj negativan, n mora da bude
neparan celi broj;

- exp(x): Eksponencijalna funkcija;

- abs(x): Apsolutna vrednost;

- log(x): Predstavlјa prirodni logaritam nekog broja tj logaritam sa osnovom e (ln);

- log10(h): Logaritam sa osnovom 10;

13
- factorial(x): Predstavlјa fsaktorijel od x (x!), gde h mora biti pozitivan.

Primer sa upotrebom svih elementarnih funkcija (Slika 13.):

Slika 13.

Pored ovih funkcija Matlab ima ugrađene i trigonomentrijske funkcije.


Trigonometrijske funkcije su funkcije ugla. Dobile su ime po grani matematike koja ih
koristi za rešavanje trouglova, a koja se naziva trigonometrija. Postoje i inverzne
funkcije trigonometrijskih funkcija koje se nazivaju ciklometrijske funkcije i arkus-
funkcije.

Postoje sledeće trigonometrijske funkcije:

- sin(x) Sinus ugla nekog broja izražen u radijanima;

- sind(x): Sinus ugla nekog broja izražen u stepenima;

- cos(x): Kosinus ugla nekog broja izražen u radijanima;

- cosd(x): Kosinus ugla nekog broja izražen u stepenima;

- tan(x): Tanges ugla nekog broja izražen u radijanima;

- tand(x): Tanges ugla nekog broja izražen u stepenima;

14
- cot(x): Kotanges ugla neko broja izražen u radijanima;

- cotd(x): Kotanges ugla nekog broja izražen u stepenima.

Primer sa primenom trigonometrijskih funkcija (Slika 14,Slika15):

Slika 14. Slika 15.

Inverzne trigonometrijske funkcije izražene u radijanima su:

- asin(x),

- acos(x),

- atan(x)

- acot(x);

A inverzne trigonometrijske funkcije izražene u stepenima su:

- asind(x);

- acosd(x);

- atand(x);

- acotd(x).

Primer sa interznim trigonometrijskim funkcijama(Slika 16,Slika 17):

Slika 16. Slika 17.

15
Takođe postoje u funkcije za zaokruživanje brojeva koje su ugrađene u programski
paket Matlaba. Neke od takvih funkcija su:

- round(x): Vrši zaokruživanje na najbliži ceo broj,

- fix(x): Vrši zaokruživanje naviše;

- ceil(x): Vrši zaokruživanje naniže;

- floor(x): Vrši zaokruživanje na najbliži manji ceo broj;

- rem(x,y): Vraća ostatak delјenja kada podelimo dva broja;

- sign(x): Ovo je funkcija signum. Ona vraća 1 ako je broj veći od 0 tj. ako je broj

pozitivan, vraća -1 ako je broj manji od nule tj. negativan i vraća 0 ako je broj 0.

Primer sa funkcijama za zaokruživanje brojeva (Slika 18, Slika 19):

Slika 18. Slika 19.

16
U Matlabu funkcija koja je izuzetno bitna, a ugrađena je u ovom programskom
paketu je operator dodele. Znak za operator dodele je znak jednakosti tj. „ = “(Slika
20.) . Kada u komandnom prozoru stavimo da nam je neka promenlјiva jednaka nekom
broju onda smo toj varijabli dodelili vrednost koja je iza znaka jednakosti. Čim nekoj
promenlјivoj dodelimo vrednost, to nas se prikazuje u prozoru Workspace (Slika 21.),
prilikom različitih aritmetičkih operacija vrednost se menja i u komandnom prozoru
(Slika 22.) i u prozoru gde nam se prikazuju promenlјive (Slika 23).

U komandnom prozoru to izgleda kao što je prikazano na sledećim slikama:

Slika 20. Slika 21.

Slika 22. Slika 23.

17
Imena promenlјivih mogu sadržati slova,brojeve i podvlake, ali moraju počinjati
slovom, moramo znati da se mala i velika slova u ovom programskom paketu razlikuju i
moramo voditi računa o tome, takođe se preporučuje zbegavanje davanja imena već
ugrađenih funkcija kao što su sqrt,tan,abs i sl. Jer ako to uradimo promenlјiva će imati
vrednost koju smo joj mi dodelili prilikom pisanja u komandnom prozoru, a kao
ugrađena funkcija neće moći da se koristi.

U Matlabu postoje i rezervisane reči koje ovaj programski paket ne


dozvonjava da se uzimaju za imena promennjivih, ako se pak i slučajno
one iskoriste u komandnom prozoru će se prikazati poruka za grešku. Sve
rezervisane reči se mogu videti ispisom iskeyword u komandnom prozoru
(Slika 24.).

Slika 24.

18
Neke od rezervisanih reči koja se često upotreblјavaju pri radu su odmah pri
pokretanju rogramskog paketa definisane, npr.:

- ans Promenlјiva kojoj je dodelјena vrednost poslednje komande ili izračunavanja


nekog izraza;

- pi Broj π (3,14);

- eps Najveća moguća razlika između dva broja. To je zapravo broj 2^(-52), što je
približno 2.2204e-016;

- inf Beskonačna vrednost, dobijamo je kad npr. bilo koji broj podelimo sa nulom;

- i To je imaginarna jedinica koja ima vrednost 0 + 1.0000i;

- j Ima istu vrednost kao i „i“;

- NaN Predstavlјa skraćenicu od Not-a-Number (nije broj). Ovo možemo da dobijemo


ako u komandnom prozoru ispišemo 0/0.

Ako pri radu u ovom programskom paketu želimo da vidimo sve informacije o
promenlјivama koje smo definisali, ili želimo da izbrišemo promenlјive postoje posebne
komande koje su ugrađene i kao takve se koriste baš za ove namene. To su:

- clear: Ova komanda uklanja sve promenlјive iz memorije;

- clear x y z: Brišemo samo promenlјive koje smo naveli iza komande clear;

- who: Prikazaće nam samo imena promenlјivih koja smo definisali pri radu;

- whos: Pored imena pokazuje nam i veličinu promenlјivih, klasu i veličinu u bajtovima.

3.MATRIČNI NAČIN U MATLABU


19
Matlab sve promenlјive tretira kao matrice.Matrica je u opštem slučaju dimenzija
MhN.Skalar je matrica dimenzija 1h1.Vektor je matrica dimmenzija 1hN (vektor vrsta) ili
Nx1 (vektor kolona).

Postoje i višedimenzionalne matrice (npr.NxMxK).

3.1. Generisanje matrica

Matrica je dvodimenzionalni niz čiji su emementi poređani u vrste i kolone.Elementi


matrice mogu biti brojevi ili matematički izrazi koji imaju brojeve,unapred definisane
funkcije ili promenlјive.

Elementi matrica se upisuju vrstu po vrstu u uglastim zagradama.Svaka vrsta mora da


ima jednak broj elemenata. (Slika 25.)

Primer generisanje matrice A.

Slika 25.

Matlab sadrzi funkcije za generisanje specijalnih matrica.Neke od njih su date u


sledećoj tabeli:

Funkcija Opis
Eye Generiše jediničnu matricu (matrica u kojoj su elementi na glavnoj dijagonali
jedinice, a vandijagonalni nule).
Ones Generiše matricu u kojoj su svi elementi jedinice.
20
Zeros Generiše nula matricu (matricu u kojoj su svi elementi nule).
Rand Generiše uniformno raspodelјenih slučajnih brojeva u intervalu 0 do 1 (kao
skalara ili matrice)
Magic Generiše magičnu matricu tzv. “čarobni kvadrat“ (za n>=3, dobija se matrica
čiji su elementi prirodni brojevi od 1 do n² i kod koje svaka vrsta i kolona
imaju isti zbir elemenata).

3.2.Adresiranje matrice.

Adrese elemenata matrice definiše se brojem vrste i kolone u kojoj se nalazi. Ako je
definisana matrica A, tada (m,n) označava matricu A u preseku vrste m i kolone n.

Napraviti matricu M. Zatim prikazati element matrice M u preseku prve vrste i treće
kolone i dodeliti mu novu vrednost 100. (Slika 26.)

Slika 26.

Upotreba dvotačke u adresiranju matrica

Za matricu A upotreba dvotačke u adresiranju ima sledeće varijante:

A (:,n)- izdvaja kolonu n matrice A.

A (n,:)- izdvaja vrstu n matrice A.

21
A (:,m,n)- izdvaja elemente u svim vrstama između kolona m i n matrice A.

A (m,n,;)- izdvaja elemente u svim kolonama između vrsta m i n matrice A.

A (m:n, p:q)- izdvaja elemente u vrstama od m do n i kolonama od p do q matrice A.

Primer: Napraviti sledeću matricu A

a) Napraviti vektor B od elemenata matrice A.(Slika 27.)

b) Napraviti vektor C od elemenata druge kolone matrice A. (Slika 27.)

v) Napraviti matricu D od prve, treće kolone matrice A.(Slika 28.)

d) Napraviti vektor E od elemenata A (1,3), A (2,4), A(3,5).(Slika 28)

Slika 27. Slika 28.

3.3. Matematičke operacije sa matricama

Sabiranje i oduzimanje može biti sprovedeno kod matrica jednakih dimenzija. Ukoliko
nisu jednakih dimenzija Matblab će izbaciti poruku o grešci. (Slika 29.)

22
Slika 29.

Množenje matrice je u skladu sa pravilima

linearne algebre.

To znači da ako su A i B dve matrice, operacija


A*B biće izvedena ako je broj kolone matrice A
jednak broju vrste matrice B.

Na primer ako je matrica A m h n, a matrica B p x


q onda mora biti n=p.(Slika 30)

Slika 30.

Elementarne matrične funkcije koje se mogu naći u programskom paketu Matlab-a su:

– determinanta matrice det(x);

23
– inverzija inv(x);

– pseudo-inverzija ne kvadratne matrice pinv(x);

– formiranje karakterističnog polinoma poly(x);

– trag matrice trace(x).

4. GRAFIČKI PRIKAZ U MATLABU

Jedna od možda najbolјih funkcija MATLAB-a je ta što ima veoma velike grafičke
mogućnosti. MATLAB pruža izuzetno veliki broj naredbi pomoću kojih podatke
možemo prikazivati pomoću 2D i 3D grafika.

Ukoliko se odlučimo da naš grafik bude predstavlјen u dvodimenzijalnom obliku


onda to možemo uraditi pomoću naredbi plot, bar, stairs i stem.

Najvažnija naredba kada je reč o crtanju nekog vektora h je naredba plot(x). Ova
naredba crta određeni vektor u koordinatnom sistemu tako što se na h-osi nalaze
indeksi broja h, a dok se na y–osi nalaze vrednosti broja h, ova naredba se koristi i za
crtanje funkcija jedne promenlјive (Slika 31, Slika 32.), ali pre fukcije mi moramo
definisati i opseg u kojem se biti nacrtana funkcija h. Bitna naredba za crtanje ovakvih
funkcija je naredba linspace – pomoću nje se definiše oblast h-ose. Sintaksa ove
naredbe je: linspace(x1,x2,n) gde su h1,h2 početna i krajnja tačka tj. opseg, a dok n
predstavlјa broj tačaka u tom opsegu. Ukoliko se broj tačaka ne definiše u naredbi,
onda se uzima 100 tačaka.

Primer crtanja grafisa kada je x=[1 2 6 9 5 4 7]:

24
Slika 31. Slika 32.

Ukoliko izaberemo plot onda se dve susedne tačke na grafiku spajaju pravom
linijom, naravno postoji i mogućnost menjanja izgleda linije, boje, deblјine linija .Bar
prikaz je prikaz sa stubićima.Stairs prikaz predtavlјa prikazivanje podataka slično kao i
kod prikaz sa stubićima, samo što unutrašnjost stubića nije popunjena već se prikazuju
samo ivice stubića. Stem prikaz je prikaz pomoću vertikalnih linija koje na vrhu imaju
mali kružić . Pie prikaz je prikaz podatak u obliku pite.

4.1. Crtanje više grafika na jednom grafikonu

Bitna karakteristina kod crtanja grafika je ta što se može crtati više linija na
jednom grafiku.

Sintaksa naredbe je:

plot(x,y).

Primer:

Ukoliko imamo kao zadatak da nacrtamo funkciju sinus za interval od 0 pa do π. To bi


onda izgledalo ovako ( Slika 33. ):

25
t = 0:pi/100:2*pi; y2 = sin(t-.25);

y = sin(t); → y3 = sin(t-.5);

plot(t,y,t,y2,t,y3)

Slika 33.

Takođe Matlab pruža i uređivanje izgreda grafika po želјi, pa ima mnoge


ugrađene funkcije koje koristimo za uređivanje grafita. Možemo menjati boju linija,
izgled, deblјinu linija, postavlјanje legende i još mnogo toga. Da bi na grafiku promenili
boju i izgled linije sintaksa za to je: plot(x,y,’vrsta linije,boja’).

Postoje sledeći simboli za vrstu linije i boju (Slika 34, Slika 35):

Slika 34. Slika 35.

26
Za uređivanje grafika postoje naredbe pomoću kojih se zadaje ime grafiku, zadaju se
imena osama, da se postavi tekst na grafiku gde mi želimo i postavlјanje legende o
linijama.

title (‘string’) - zadaje se ime grafiku;

xlabel(’string’) – zadaje se ime h ose;

ylabel(’string’) – zadaje se ime osi;

zlabel(’string’) – zadaje se ime osi koristi se za 3D grafike;

legend(‘prva linija’, ‘Location( naredba za određivanje lokacije)’ ,`northwest` );

gtext( ’string’)- omogućuje upis teksta gde mi označimo mišem;

linewidth - određuje deblјinu linije;

markersize - određuje veličinu markera;

markeredgecolor- određuje boju ivica;

markerfacecolor- određuje boju kojom se popunjava marker.

Primer kako to sve izgleda u Matlab-u pomoću navedenih naredbi(Slika 36, Slika 37):

Slika 36. Slika 37.

27
Posle svih ovih naredbi grafik izgleda ovako (Slika 38. )

Slika 38.

Naredba za dodavanje legendi je predstavlјena na sledećoj slici (Slika 39,Slika 40.).


Možemo legendu postavlјati u svim uglovima grafika, kao i van grafika, a postoji i opcija
za postavlјanje na mesti „ best “ gde se legenda sama postavlјa na mestu gde je
najbolјe tj. gde ima najmanje linija ili preseka linija.

28
Slika 39.

Slika 40.

Postoji i naredba kojom možemo podeliti prozor za crtanje na koliko god dela
želimo a da svaki deo predstavlja novu funkciju. Za deljenje prozora se koristi naredba
subplot(1,1,1) , koja smešta grafik tako što upisujemo mesto na kom želimo kao što su
deffinisani kod matrica.

Primer. Podeliti prozor na četiri jednaka dela I predstaviti sledeće funkcije:

y= sin(x); z=cos(x), u= x2; v=x.(Slika 41,Slika 42.)

29
Slika 41. Slika 42.

5. SIMBOLIČKA ANALIZA

Jedan od mnogih programskih paketa unutar MATLAB-a podržava simboličku


matematiku. Sve o ovoj temi sa kratkim objašnjenjima možemo pogledati u help-u
naredbom symbolic, a ako hoćemo i kratak opis onda samo u komandnom prozoru
upišemo symintro. Kada se to upotrebi prilikom koriscenja programskog paketa Matlab
(Slika 43 , Slika 44.).

30
Slika 43. Slika 44.

Postoji ogroman broj funkcija koje se koriste za rešavanje problema u okviru


simboličke analize. Neke od najbitnijih funkcija su funkcije koje se koriste za rešavanje
određenih i neodređenih integrala. Za definisanje simboličkih promenlјivih koristi se
naredba sym kada definišemo jednu promenlјivu dok se za više promenlјivih koristi
naredba syms. Posle ove naredbe koristimo neku od naredbi koje smo već videlu
prilikom korišćenja pomoći.

Svaki simbolička promenlјiva može imati i dodatna svojstva koja se određuju


kod definisanja same promenlјive. Ako hoćemo da naglasimo da naša promenlјiva bude
relna to u Matlab-u izgleda ovako(Slika 45, Slika 46 ):

Slika 45 Slika 46

31
Int je naredba koja se koristi za izračunavanje integrala , njom se izračunava i određeni i
neodređeni integrali. Neodređeni integral ima sledeće komande:

int(S) ili int(S,prom)

Izraz sadrži samo jednu promenlјivu, integralјenje se odvija po toj promenlјivoj.


Ako izraz sadrži više promenlјivih, izračunava se integral za naznačenu promenlјivu.
Ovaj drugi izraz koristiti za izraze kada ima više od jedne simoličke promelјive,
integralјenje se obavlјa za promenlјivu prom.

Primer za rešavanje integrala (Slika 47,Slika 48):

Slika 47. Slika 48.

Određeni integral se računa pomoću naredbe int(S,a,b) ili int(S,prom,a,b), a,b


predstavlјu donju i gornju granicu integrala.

p
� (sin y + 5 y 2
Primer: Rešitavamo integral )dy . U Matlab-u izgleda to ovako (Slika
0

49.)

Slika 49.

32
Kada Matlab ne može da izračuna integral on izbaci poruku da integral nije
pronađen ili na engleskom „ Explicit integral could not be found.“ Određeni
integral se takođe u Matlab-u koristi pri izračunavanju površina. Za crtanje grafita
prilikom rešavanja integrala i površina koristi naredba ezplot( ‘ ‘).

Primer : Nacrtati luk krive y = x 2 - 9 i ručno izračunatii površinu ograničenu


lukom krive i h osom .(Slika 50, Slika 51,Slika 52)

Slika 50. Slika 51.

Slika 52.

33
Takodje pored svim ovih fukcija, postoji I mogucnost da podelimo prozor I da u
jednom grafickom prozoru predstavimo vise grafika. Programski paket Matlaba pored
računanja integrala pruža mogućnosti računanja izvoda, limesa i ekstremnih vrednosti.

U matematičkoj analizi, grani matematike, izvod je mera kako (koliko brzo)


funkcija menja svoje vrednosti kada joj se ulazne vrednosti menjaju. Izvod krive u nekoj
tački predstavlja koeficijent pravca tangente date krive u toj tački. Izvod se u Matlabu
izračunava korišćenjem komande diff(x), gde x predstavlja funkciju. To je samo kada
želimo da izračunao prvi izvod, a ako želimo drugi onda to radimo komandom diff(x,2),
ili kada umesto broja dva stavimo broj koji označava koji se izvod funkcije računa.

Primer. Izračunati prvi I drugi izvod ako je y=cos(x)+ x4 + 2* x2

>> syms x

>> y=cos(x)+x^4+2*x^2;

>> diff(y)

ans =

4*x - sin(x) + 4*x^3

>> diff(y,2)

ans =

12*x^2 - cos(x) + 4

>> pretty(ans)

12 x - cos(x) + 4

>> y=cos(x)+x^4+2*x^2

>> pretty(y)

cos(x)2 + 2 x 4 + x
34
Limes se računa upotrebom rezervisane reči limit. Pa pogledajmo kako to izgleda na
konkretnom primeru ako je zadatak y=tgx/x kada lim x→0.

Rešenje:

Syms x

>> limit(tan(x)/x,0)

ans =

1.

Kako se ekstremne vrednosti se u Matlab-u računaju pokazaćemo na


konkretnom primeru. Npr ako je data funkcija ekstremne vrednosti te funkcije su:

>> y=exp(x)*(3*x-2*x^2)

>> diff(y)

ans =

exp(x)*(- 2*x^2 + 3*x) - exp(x)*(4*x - 3)

>> solve(ans)

ans =

-3/2

>> y1=exp(-1.5)*(-2*(-1.5)^2+3*(-1.5))

y1 =

35
-2.0082

>> y1=exp(1)*(-2*(1)^2+3*(1))

y1 =

2.7183

>> diff(y,2)

ans =

exp(x)*(- 2*x^2 + 3*x) - 2*exp(x)*(4*x - 3) - 4*exp(x)

>> solve(ans)

ans =

- 41^(1/2)/4 - 5/4

41^(1/2)/4 - 5/4

>> double(ans)

ans =

-2.8508

0.3508

>> y1=

1,1451

>> y2= -1,4338

6. REŠAVANJE JEDNAČINA U MATLABU

36
6.1. Matrični način rešavanja sistema jednačina

Programski paket Matlab-a ima veliku primenu u rešavanju sistema linearnih


jednacina. Pod sistemom linearnih jednačina se smatra skup linearnih jednačina.
Linearna jednačina je najjednostavnija jednačina oblika: ax+b=0, gde rešenje linearne
jednačine po nepoznatoj veličini predstavlja: y=ax+b.

Opšti oblik sistema linearnih jednačina je sledeći(Slika 53.),takodje se može predstaviti


u obliku matrice (Slika 54.):

Slika 53. Slika 54.

Kada je reč o prvom slučaju (Slika) gde su x1…xn nepoznate a, a11…amn


koeficijenti sistema. Kada odredjeni sistem linearnih jednačina predstavimo u oblikuj
matrice (Slika 54), onda dobijemo vektor kolone x i b sa n clanova. Kada sistem
predstavljen matrocom uprostimo onda možemo da ga zapišemo kao:

Ax=b . Posto kada rešavamo sisteme linearnih jednačina mi kao rešenje imamo
nepoznatu vektor kolonu x1…xn, kada to znamo onda imamo da se sistem rešava kao

x= A-1 *b , gde je A-1 inverzna matrica matrice A, koja se u programskom paketu dobija
pomo’u ugrađene funkcije inv(A) ili prostim unosom u komandnom prozoru kao A^(-1).

Primer: Rešiti dati sistem linearnih jednačina matričnom metodom.

x1 - 4x2 + 3x3 = -7;

3x1 + x2 - 2x3 = 14;

37
2x1 + x2 + x3 = 5;

U programskom paketu prvo morati uneti sistem jednačina u komandnom


prozoru tako što imamo matricu A koji sadrži koeficijente uz nepoznatu x, dok je b
vektor kolona sa vrednostima koje se nalaze iza znaka jednakosti (Slika 55 ).Zatim
samo upišemo formulu po kojoj se sistem rešava (Slika 56) i odmah nam se ispisuje
rezultat (Slika ).

Slika 55. Slika 56.

6.2. Levo i desno deljenje

Pored već gore navedenog metoda postoje i metodi levog i desnog matričnig
deljenja. Ako izaberemo neki od ovih načina moramo da znamo da se sistem jednačina
rešava počevši od poslednje jednačine pa se vrednost poslednje menja u prethodnoj i
tako sve dok ne dodjemo do prv. Rešava se jedna po jedna jednačina unazad. Ovaj
metod je poznatiji kao metod unazad.

Ako imamo matričnu jednačinu u osnovnom obliku [a][x]=[b], onda rešenje za


levo deljenje bi bilo [x] = [a]\[b], a ukoliko je matrična jednačina predstavlje kao [x]
[a]=[b] se zupotrebljavamo desno deljenje, sistem jednačina se rešava na sledeći način
[x] = [b]\[a].

Slede primeri rešavanja linearnih jednačina levim i desnim matričnim deljenje.


Na slici 58. je primer levog deljenja a na slici 59. primer desnog deljenja za rešavanje
jednačina.

38
Slika 58. Slika 59.

7.SKRIPT DATOTEKE, M-FAJLOVI

Do sada smo sve svoje naredne upisivali u komandnom prozoru programskog


paketa Matlab. Za sve ono što smo hteli da izračunamo ili ako smo rešavali neki
problem pisali smo naredbe iza odzivnika „>>“, medjutim ukoliko naredbe koje smo
koristili želimo opet da upotrebimo primetićemo da se to može korisiti samo dok ne
zatvorimo program, ponovnim pokretanjem programa videćemo da smo sve podatke
izgubili i da je nemoguće koristiti opet. Baš iz tog razloga nastaje potreba da napravimo
određene fajlove u kojima ćemo pisati i smestiti određene programe i naredbe i koje
ćemo sačuvati pa takve koristiti ponovo kad nam zatrebaju pozivanjem pomoću imena
sačuvanog fajla u komandnom prozoru. Svi takvi fajlovi se sačuvavaju sa
ekstenzijom .m i zbog toga se i nazivaju m-fajlovi.

U programskom paketu Matlab postoje dve vrste m-fajlova:

1. Skript fajlovi (komandni) eng. „Script file“;

2. Funkcije eng. „function“.

7.1. Skript fajlovi

39
U ovom programskom paketu se skript datoteke prave i uređuju u prozoru za
pisanje programa prozor Editor (Slika ) koji se otvara iz komandnog prozora tako što se
u meniju File odabere New i zatim M-file. Na samom početku skript datoteka praktukuje
se da se ostavlja komentar sa kratkim objašnjenjem zadatka odredjene datoteke.

Kada koristimo skrip datoteke moramo da znamo da ne postoje ulazni


argumenti. Kada završimo sa pisanjem programa skript datote pokrećemo opcijom
„Run“ . Datu skript datoteku moramo sačuvati pomoću opcije „Save As“ . Takodje
moramo voditi računa o davanju imena prilikom čuvanja jer važe ista pravila kao pri
uvođenju novih promenljivih, a i sama datoteka se poziva tako što se upiše ime pod
kojim je sačuvana u nekom direktorijumu, piše se bez ekstenzije “.m”.

Kada se pokrene skript datoteka promenljivama koje se koriste u njenim


proračunima moraju biti dodeljene vrednosti i za to postoje 3 načina. Prvi način je kada
se u samoj skript datoteci definišu vrednosti. Te vrednosti možemo da menjamo,
medjutim tu datoteku moramo ponovo da sačuvamo i pokrenemo.Primer na slici 60,61.
Ne postoji ograničenje za menjanje skript datoteka. Drugi način je kada korisnik u
komandnom prozoru zadaje vrednosti, a pokretanjem skript datoteke koristimo
vrednosti iz workspace-a. Primer na slici 62,63 . Treći način kada se u skript datoteci
definišu sven promenljive potrebne za program koji koristimo, a u komandnom prozoru
se unose vrednosti tih promenljivih posle pokretanja skript datoteka. Primer na slici
64,65.

Prvi način:

Slika 60. Slika 61.

Drugi način:

40
Slika 62. Slika 63.

Treći način:

Slika 64. Slika 65.

7.2. Funkcije

Bitna karakteristika programskog paketa Matlab je ta što dozvoljava kreiranje


sopstvenih funkcija, korišćenjem m-fajla, koje kasnije korisnik može samo da pozove u
glavnog programu bez ponovnog kucanja koda. Prilikom formiranja funkcijske datoteke
moramo da znamo opšti oblik funkcije:

function [y1, y2, …] = imefunkcije (x1, x2, …) , gde počinje rezervisanom rečju za
funkcije, a y1, y2 predstavlja rešenja za program, imefunkcije predstavlja ime pod kojim
je funkcija sačuvana i pomoću kojeg mi pozivamo funkciju u glavnom programu, a x1 I
x2 su argumenti koje svaka funkcija mora da sadrži. Medjutim za razliku od skript
datoteke kada pokrenemo funkciju moramo da unesemo I argumente, kako koji
argument unosimo u komandnom prozoru tim redom iz zamenjuje u funkcijskoj datoteci.
Ukoliko je potrebno da neke promenljive budu vidljive unutar funkcije, moraju biti
proglašene globalnim pomoću naredbe global, a postoje i lokalne promenljive koje se

41
koriste samo u određenom programu u kojem su definisane i one se ne definišu u
workspace.

Ukoliko npr. Imamo zadatak da korišćenjem funkcijske datoteke napišemo ffunkciju


moja računa obim jednakokrakog trougla.To bi u ovom programskom paketu izgledalo
ovako (Slika 65,Slika 66 ) .

Slika 65. Slika 66.

7.2.1. Kontrolne petlje

U Matlabu se mogu koristiti petlje za kontrolu toka programa i granjanje kao i


drugim programskih jezicima. Petlje koje se najviše koriste u Matlab-u su:

1.For – petlja koja datu naredbu izvršava samo određeni broj puta. (Primer korišćenja
na slici ());

2. If – kod koje se program dalje izvršava samo ako se ispunjava određeni uslov.(Primer
na slici ()). Uz if se koriste else i else if, komande za preusmeravanje toka programa.

3. While- kod koje se prvo program izvrši a na kraju se proverava uslov.(Primer na


slici())

4. Switch – daje nam mogućnost granjanja uz odabir jednog slučaja koji će program
vršiti. (Primer na slici( ))

5.break - Komanda break prekida izvršavanje for ili while petlje.

6.return – Vraća vrednost određene promenljive kao rezultat.

7.continue - nastavlja sa izvršavanjem naredbe petlje.

42
Primer 1. Napisati program koji za n brojeva racuna sumu brojeva samo onih brojeva
koju su deljivi sa 2 ili sa 3 korišćenjem for i if petlje. Rešenje na Slici 69. i Slici 70.

Slika 69. Slika 70.

Primer 2. Napisati program koji računa broj dvocifrenih i sumu jednocifrenih u intervalu
od 1 do n. Rešenje na slici 71. i slici 72.

Slici 71. Slici 72.

Primer 3. Napisati program koji ispisuje koji broj smo unesi za broj od 1 do 5
korišćenjem switch. Rešenje na slici 73, I slici 74.

Slika 73. Slika 74.

43
LITERATURA

- Osnove MATLAB-a – Želјko Ban,

- Početak rada u MATLAB-u – autor nepoznat,

- MATLAB for Windows – Igor Đurović, Zdravko Uskoković, Ljubiša Stanković,

- Matematika u Mablatu

- Matlab i matematika – Auto nepoznat

-Vezba1.pdf – Autor nepoznat

-Priručnik za Matlab – I Deo – Autor nepoznat

-Ekstremne funkcije u Matlabu –Autor nepoznat

http://www.rgf.bg.ac.rs/predmet/RO/IV%20semestar/Informatika
%20II/Predavanja/3_I2_RO_ML3.pdf

https://www.fer.unizg.hr/_download/repository/matlab_upute.pdf

https://drakic.files.wordpress.com/2011/12/knjiga-matlab1.pdf

http://www.rgf.bg.ac.rs/predmet/RO/IV%20semestar/Informatika
%20II/Predavanja/3_I2_RO_ML3.pdf

http://www.dm.unibo.it/~piccolom/didattica/num_met/SAmatlab_09.pdf

https://www.math.muni.cz/~kolacek/vyuka/vypsyst/navod.pdf

https://www.tutorialspoint.com/matlab/matlab_matrics.htm

http://telekomunikacije.etf.rs/predmeti/ot2psa/psa_ML_01.pdf

44

You might also like