You are on page 1of 110

FAKULTET ZA POSLOVNU INFORMATIKU

mr Ivana Kovaevi

MATLAB
Drugo izdanje

Beograd 2006.

Autori:
mr Ivana Kovaevi
Recenzenti:
Prof. dr Milan Milosavljevi
Izdava:
UNIVERZITET SINGIDUNUM
FAKULTET ZA POSLOVNU INFORMATIKU
Za izdavaa:
Prof. dr Milovan Stanii
Dizajn korica:
Aleksandar Mihajlovi
Goran Latinovi
Godina izdanja:
2006.
Tira:
000 primeraka
tampa:
CICERO-print
Beograd

SADRAJ:
1. VEBA - ALATI I OSNOVNE FUNKCIJE .............................. - 1 1.1. KAKO POETI RAD U MATLAB U............................................................ - 1 1.2. OPERATORI ZA POMO U RADU............................................................... - 3 1.3. UNOENJE PODATAKA BROJEVI I ARITMETIKI IZRAZI................ - 4 1.4. ARITMETIKI OPERATORI......................................................................... - 6 1.5. RELACIJSKI OPERATORI............................................................................. - 7 1.6. LOGIKI OPERATORI ................................................................................... - 9 1.7. KOMPLEKSNI BROJEVI.............................................................................. - 10 1.8. OSNOVNE FUNKCIJE ................................................................................... - 11 1.9. OSNOVNE KONSTANTE U MATLAB - U.................................................. - 13 1.10. IZLAZNI FORMAT ...................................................................................... - 13 1.11. BRISANJE I UVANJE PODATAKA ........................................................ - 15 -

2. VEBA - MATRICE I OPERACIJE ....................................... - 17 2.1. MATRICE I VEKTORI .................................................................................. - 17 2.2. MATRICE SPECIJALNIH STRUKTURA ................................................... - 20 2.3. OPERACIJE SA MATRICAMA.................................................................... - 23 2.4. DETERMINANTA MATRICE....................................................................... - 27 2.5. INVERZNA MATRICA .................................................................................. - 28 2.6. .DELJENJE....................................................................................................... - 29 -

3. VEBA - GRAFIKA ................................................................. - 33 3.1. GRAFIKO PREDSTAVLJANJE FUNKCIJA JEDNE


PROMENLJIVE.............................................................................................. - 33 3.2. OZNAAVANJE GRAFIKA I OSA .............................................................. - 38 3.3. SKALIRANJE OSA ......................................................................................... - 41 -

4. VEBA - UPRAVLJANJE TOKOM PROGRAMA ............... - 43 4.1. USLOVNI IZRAZ : IF ..................................................................................... - 43 4.2. USLOVNI IZRAZ: FOR- PETLJA ............................................................... - 48 4.3. USLOVNI IZRAZ: WHILE- PETLJA ......................................................... - 50 -

5. VEBA - M FAJLOVI (DATOTEKE).................................. - 53 6. VEBA - REAVANJE JEDNAINA I SISTEMA


ALGEBARSKIH JEDNAINA................................................ - 61 6.1. SREIVANJE POLINOMA ........................................................................... - 61 6.2. OPERACIJE SA POLINOMIMA .................................................................. - 62 6.3. REAVANJE JEDNAINA SA JEDNOM PROMENLJIVOM ................. - 64 6.4. REAVANJE SISTEMA LINEARNIH JEDNAINA................................. - 66 -

7. VEBA - SIMBOLIKA MATEMATIKA ............................. - 71 7.1. SIMBOLIKI OBJEKTI I IZAZI.................................................................. - 71 7.2. REAVANJE JEDNAINA............................................................................ - 74 7.3. REAVANJE SISTEMA JEDNAINA......................................................... - 75 7.4. CRTANJE GRAFIKA KRIVE SIMBOLIKOG IZRAZA ....................... - 76 -

8. VEBA - GRANINA VREDNOST I IZVOD FUNKCIJE ... - 79 -

8.1. GRANINA VREDNOST FUNKCIJE.......................................................... - 79 8.2. IZVOD FUNKCIJE......................................................................................... - 80 8.3. PRIMENE IZVODA -ODEIVANJE EKSTREMNIH VREDNOSTI...... - 81 -

9. VEBA - DESKRIPTIVNA STATISTIKA ............................. - 85 10. VEBA - PRUGASTI I KRUNI DIJAGRAMI ................... - 89 11. ZADACI ZA VEBANJE ....................................................... - 93 -

PREDGOVOR
MATLAB je vii programski jezik razvijen sredinom 80-tih. Prva
verzija je napisana u Fortranu, a nove verzije napisane su na jeziku C.
Distribuirala ga je softverska kua Math Woorks Inc.
MATLAB je prvenstveno bio namenjen inenjerima, ali je za
kratko vreme postao standardni programski paket na univerzitetima,
kolama i institutima. Njegova osnovna karakteristika je numeriko
reavanje razliitih vrsta matematikih problema. Koristi se u svim
matematikim i tehnikimoblastima. MATLAB ima veoma dobru 2D i
3D grafiku, to je jo vie doprinelo popularnosti ovog programskog
paketa.
MATLAB je jednostavan za korienje. Problemi i reenja se
izraavaju na nain slian kao u standardnim matematikim
izraunavanjima, bez potrebe tradicionalnog programiranja.
Zbog velike popularnosti, vremenom su nastale razliite verzije,
prilagoene raunarskim sistemima..Osnovni elementi svih verzija su
identini. Meusobno se razlikuju po broju raspoloivih funkcija i
sistemskih ogranienja.
Mi u radu koristimo MATLAB verziju 7.
MATLAB prua mogunosti kreiranja novih funkcija za pojedine
specijalne oblasti primene. Takve funkcije grupiu se u posebne pakete,
module, takozvane Toolbox-ve. Neke od njih nudi i sam proizvoa, kao
to su SIGNAL PROCESSING, CONTROL, SYMBOLIC MATLAB ,
SIMULLINK i sl.
Broj funkcija koje nudi MATLAB je ogroman. U svakoj novoj
verziji taj broj se poveava. Mi nismo imali potrebe, ali ni mogunosti da
sve funkcije pomenemo. Zadrali smo se na najvanijim.
Ovaj kurs je nastao iz potrebe da se studentima Fakulteta
poslovne informatike olaka primena i korienje MATLAB-a.
Potrebna raunarska konfiguracija, instalacije, performanse i struktura
MATLAB- a, nisu predmet prouavanja ovog kursa.

1. VEBA - ALATI I OSNOVNE FUNKCIJE


1.1. KAKO POETI RAD U MATLAB U
MATLAB se distribuira u komprimovanom formatu na CDovima. Instalacijom, datoteke sa ovih CD-ova premetaju se na
disk, dekomprimuju se i instaliraju u Windows-ovom okruenju.
Kada je program pozvan, pojavljuje se MATLAB-ov komandni
prozor.

Prvi red predstavlja liniju menija (Menu bar). Linija menija


sadri uobiajene komande. Ako se na ekranu odmah ne pojavi
prozor sa slike , dobiemo ga ako izaberemo View-Desktop
Layout-Default.
Na ekranu mogu se videti i manji prozori:
Command window
Command History window.
Launch Pad window

-1-

Postoje takoe jo dva nova prozora:


Workspace window
Current Directory window.
Command window je glavni deo MATLAB-vog interaktivnog
sistema. Iz tog prozora pristupamo MATLAB-ovim komandama
i funkcijama.
U radnom prostoru pojavljuje se znak >> , koji se naziva
prompt, pored koga se nalazi kursor, vertikalna trepua linija,
koja predstavlja spremnost raunara da primi naredbu. Kada se
u radnom delu otkuca naredba i pritisne taster Enter, naredba se
odmah izvrava.
Command History window uva predhodne naredbe koje su
bile koriene u Command window.
Launch Pad window je drugi nain a se pristupi MATLAB u.
Treba kliknuti na ikonu na vrhu prozora.i otvorie se osnovni
program ili toolbox-ovi, prema elji korisnika.
Workspace window pokazuje promenljive koje su koriene
tokom rada, odnosno njihovu veliinu i vrstu. Ove informacije
mogu biti od velike koristi kasnije u radu.
Current Directory window pokazuje koriene fajlove.

-2-

1.2. OPERATORI ZA POMO U RADU


Naredbom help obezbeena je pomo i informacije tokom rada.
To je velika pogodnost za korisnike jer je teko memorisati
veliki broj funkcija koje su definisane. Postoji nekoliko verzija
ove naredbe.
Ako otkucamo help i pritisnemo taster <Enter> na ekranu e se
pojaviti spisak oblasti i uputstva za rad, tj. spisak svih opcija
koje poseduje MATLAB.
> help
HELP topics:
matlab\general
matlab\ops
matlab\lang

- General purpose commands.


- Operators and special characters.
- Programming language constructs.

Da bi se dobilo uputstvo za neku posebnu oblast, operator ili


funkciju potrebno je uneti naredbu:
>> help oblast
Otkucati naredbe help i videti ta se dobija na ekranu.
>> help *
>> help i
>> help sqrt
Za ilustrovanje mogunosti MATLAB-a prireeni su uzorci
raznih programa, koji se mogu pozvati naredbam demo.
Aktiviranjem ovih naredbi otvara se grafiki prozor koji
pokazuje meni demonstracionih datoteka.

-3-

1.3. UNOENJE PODATAKA


BROJEVI I ARITMETIKI IZRAZI
Osnovni objekat nad kojim se vre operacije u MATLABu je polje
brojeva. Ovo polje brojeva moe da se tumai kao matrica u
uobiajenom smislu.
Pod skalarom se podrazumeva matrica tipa 1x1. Vektori
predstavljaju matrice jedne vrste ili jedne kolone.

MATLAB je jezik izraza. Sainjen je od konstanti,


promenljivih, operatora, specijalnih znakova i funkcija.
Operacije i izrazi u MATLABu se piu na uobiajen nain,
slino kao to se pie u matematici. Rezultat izvrenja izraza je
matrica.
MATLAB operie sa realnim i kompleksnim brojevima.
Koristi se uobiajena decimalna notacija sa znakom i
decimalnom takom.
MATLAB moe da se koristi za izraunavanje jednostavnih
matematikih izraza. Tada on radi slino kalkulatoru.
Napomena: MATLAB je veoma strog prema definisanoj
sintaksi jezika. Izostavljena zagrada ili zarez mogu da utiu da
ceo program ne funkcionie. Sa druge stane, velika olakica u
radu je to se na ekranu ispisuje vrsta uinjene greke i olakava
se korisniku da se greke isprave.
>> y=sin(x
??? y=sin(x
|
Error: ")" expected, "end of line" found.
MATLABove promenljive mogu imati numerike ili znakovne
vrednosti
( string).
Mogunost manipulacije matematikim izrazima bez korienja
brojava moe da bude veoma korisna.
Znakovni tip podataka sastoji se iz niza ASCII znakova. i
unose se pod jednostrukim apostrofima 'x'.

-4-

PRIMER 1:
Napisati re student.
>> re='student'
re =
student
PRIMER 2:
U rei student odrediti broj slova.
>> size(re)
ans =
1 7
U ovom primeru koriena je naredba size, koja izraunava
dimenziju unete promenljive.
Napomena: (Odgovor 1 7 oznaava polje brojeva u jednom
redu 7 elementa).
Imena promenljivih ili funkcija, moraju poeti slovom, iza
koga moe slediti prizvoljan niz simbola, ali se samo prvih 31
karaktera iz imena pamti.
MATLAB razlikuje velika i mala slova, tj. x i X su dve
razliite promenljive.
Imena matrica obino se piu velikim slovima, dok imena
skalara i vektora malim slovima.
Imena funkcija moraju se pisati malim slovima.

-5-

1.4. ARITMETIKI OPERATORI


Aritmetiki izrazi se prave korienjem uobiajenih
aritmerikih operacija za koje koristimo sledee simbole:

+
*
/
^

sabiranje
oduzimanje
mnoenje
deljenje
stepenovanje

PRIMER 3:
Izraunati vrednost izraza 2+4-6.
>> 2+4-6
ans =
0
Iz ovog primera vidimo da MATLAB sam kreira veliinu pod
imenom ans (answer-odgovor), ukoliko korisnik sam ne dodelili
ime promenljivoj ili vrednosti izraza.
PRIMER 4:
1

Izraunati x = 2 + 2 4 .

>> x=2+(2*4-1/pi)
x=
9.6817
Broj je definisan kao stalna veliina MATLAB-a i dovoljno
je ukucati slova pi ( a ne vrednost 3.14).

-6-

PRIMER 5:
Izraunati vrednost izraza y = 3 x , ako je x = 32 .
>> x=3^2;
>> y=3*x
y=
27

Napomena: Ako ne elimo da se rezultat ili meurezultat


odmah prikau na ekranu, na kraju naredbe unosi se znak ; Na
ovaj nain se ubrzava rad na raunaru, jer se eliminie
ispisivanje velikog broja, esto nepotrebnih meurezultata.

1.5. RELACIJSKI OPERATORI


Relacijski operatori su binarni operatori i koriste se za
poreenje izraza. Rezultat poreenja je je tano ( true ) u oznaci
1 ili netano ( false ) u oznaci 0 .

<

>

==
:=

manje od
manje ili jednako od
vee od
vee ili jednako od
jednako
nejednako

PRIMER 6:
Ispitati istinitosnu vrednost izraza 5 < 3 .
>> 5<3
ans =
0

Napomena: esto se grei tako to se operator = = esto se


pogreno zamenjuje sa =
-7-

PRIMER 7:
Izraunati vrednost izraza:
>> 5<(7= =8)
ans
0
Zamenimo sada = = =
>> 5<(7=8)
??? 5<(7=8)
|
Error: ")" expected, "=" found.
U prvom primeru 7 = = 8 ima istinutosnu vrednost pogreno, tj
0 i zato je 5 < 0 , to daje kao rezultat 0.
U drugom primeru greka se javlja zato to = predstavlja samo
operaciju pridruivanja, a ne raunanja vrednosti koja ima neku
istinitosnu vrednost.

-8-

1.6. LOGIKI OPERATORI


:

&
|

i
ili
ne

Tablica vrednosti za logike operacije


p

p&q

p|q

Napomena: MATLAB tretira svaki ne nulti broj kao taan i


nulu kao netaan.
>> ~4
ans =
0
>>

-9-

1.7. KOMPLEKSNI BROJEVI


Imaginarna jedinica je definisana kao stalna veliina. Koristi
se uobiajena definicija i = 1 ili j = 1 .
>> i=sqrt(-1)
i=

0 + 1.0000i
Kompleksni brojevi se definu kao zbir z = x + iy
realni , a y imaginarni deo kompleksnog broja.

gde je x

PRIMER 8:
Napisati broj z = 2 + 3i .
>> z=2+3*i
z=
2.0000 + 3.0000i
Moduo, argument, realni i imaginarni deo i konjugovano
kompleksni broj dobijaju se korienjem naredbi abs, angle,
real, imag, conj.

- 10 -

1.8. OSNOVNE FUNKCIJE


Funkcije se pozivaju tako to se iza imena funkcije u maloj
zagradi navede argument funkcije.
Elementarne funkcije ugraene u MATLAB su sin, log, log10,
sqrt, .... Kao to smo ve napomenuli funkcije se piu malim
slovima, a argumente piemo u zagradama.
apsolutna vrednost
kvadratni koren
sinus
kosinus
tangens
kotangens
eksponencijalna funkcija osnove e
logaritam osnove e
logaritam osnove 10

abs
sqrt
sin
cos
tan
cot
exp
log
log10
PRIMER 9:
Izraunati sin

>> sin(pi/4)
ans =
0.7071

PRIMER 10:
Za x = 5 i y = 59 izraunati vrednost izraza z = ln y + x .
> x=5;
>> y=59;
>> z=log(y)+sqrt(x)
z=6.0775
- 11 -

Primetimo da vrednosti promenljivih x i y nisu prikazane na


ekranu, jer se iza promenljivih nalazio znak ;

PRIMER 11:
Izraunati vrednost izraza z = log x + y , za vrednosti x i
y zadatih u predhodnom primeru.
>> % Komentar: x i y su vrednosti promenljivih iz predhodnog primera
>> z=log10(x)+abs(y)
z=
59.6990

Napomena: Treba imati u vidu da MATLAB pamti predhodno


unete veliine pa ih nije potrebno ponovo definisati ako nam
kasnije trebaju u radu.
Napomena: Oznaka % koristi se za pisanje komentara.

- 12 -

1.9. OSNOVNE KONSTANTE U MATLAB - U


ans
i,j
pi
Inf
NaN

vrednost izraza kada nije pridruen promenljivoj


imaginarna jedinica 1
=3.14159265.....
, ili rezultat 1/0 (infinity)
Nije broj, ili rezultat 0/0 (Not a Number)

Napomena: Prednost rada u MATLAB-u je to deljenje nulom


ne dovodi do prekida programa ili greke. Ispisuje se poruka
upozorenja i specijalna veliina se ponaa korektno u kasnijim
izraunavanjima.

1.10. IZLAZNI FORMAT


Izlazni oblik prikazivanja rezultata moe se kontrolisati
naredbom format. Ova komanda utie samo na prikaz na
ekranu, a ne na to kako se ta izraunava ili smeta u memoriju.
Postoje razliiti izlazni formati: format long, format long e,
format short, format short e, format rat.
Ako nije definisan neki drugi format automatski se koristi
format short, tj.standardni format sa 5 znaajnih cifara.

- 13 -

PRIMER 12:
Broj prikazati koristei razliite oblike naredbe format.
>> format short, pi
ans =
3.1416
>> format long, pi
ans =
3.14159265358979
>> format long e, pi
ans =3.141592653589793e+000
>> format short e, pi
ans =
3.1416e+000
>> format rat, pi
ans =
355/113

Napomena: Sledei broj sa kojim budemo radili bie


automatski u formatu koji smo poslednji koristili. Da bi se
vratili u uobiajeni, format short, dovoljno je otkucati samo
naredbu format.

- 14 -

1.11. BRISANJE I UVANJE PODATAKA


clear

brie podatke iz radne memorije

clear x

brie se promenljiva x

save

uva podatke u fajlu na disku za kasniju upotrebu

save ime

pamti sve veliine iz radnog prostora pod zadatim imenom

quit , exit

ostvaruje se prekid programa

load

predstvlja obrnutu naredbu od save

VEBA:
1. Utvrditi ta je vee e ili e ?
(1 + i )100
2. Izraunati z , ako je z =
.
(1 i )96 i(1 + i )98
5
3. Izraunati
za x = 0 .
x
0
4. Izraunati x = .
0
5. Kao znakovnu promeljivu uneti svoje ime i prezime i
odrediti broj slova u njemu.
6. Korienjem razliitih izlaznih formata ispisati broj
2 .

- 15 -

- 16 -

2. VEBA - MATRICE I OPERACIJE


2.1. MATRICE I VEKTORI
Ve smo naglasili, da su u MATLAB-u, promenljive polja brojeva,
koje mogu da se tumae kao matrice u uobiajenom smislu.

Matrica je polje brojeva koje se definie sa dva indeksa mxn,


gde prvi indeks m oznaava broj vrsta, a drugi n broj kolona.
Elementi se uglavnom unose po vrstama, a zagrade [ , ]
ograniavaju listu elemenata. U okviru liste, elementi se
razdvajaju zarezom ili razmakom. Taster Enter ili ; se koriste
za odvajanje vrsta matrice.
PRIMER 1:

1 2 4
Uneti matricu A = 6 8 5 .
7 4 2
>> A=[1 -2 4; -6 8 5; 7 -4 2]
A=
1 -2 4
-6 8 5
7 -4 2
Druga mogunost upisa je da se razmak izmeu elemenata
zameni zarezom.
>> A=[1, -2, 4; -6, 8, 5; 7, -4, 2]
A=
1 -2 4
-6 8 5
7 -4 2

Vektori su matrice vrste ili kolone i unose se na isti nain.


Ako su vrednosti elemenata ekvidistantne (sa istim korakom)
koristi se simbol : .
- 17 -

PRIMER 2:
Uneti vektor x=(1, 2, ... , 10).
>> x=1:10; x
x=
1 2 3 4

10

Naredba length izraunava duinu vektora.


>> length(x)
ans =
10
Ako elimo proizvoljan korak, a ne 1, kao u predhodnom
primeru, koristimo naredbu h=a:k:b, gde su a i b poetna i
krajnja vrednost, a k je korak.
Kod matrica sa kompleksnim elementima moemo da koristimo
dva naina unoenja podataka, tako to posebno unosimo realni
i imaginarni deo ili broj kao celinu.

PRIMER 3:
1 + 5i 2 6i
Uneti matricu Z =
, tako to emo posebno
3 + 7i 4 + 8i
unositi realne, a posebno imaginarne delove kompleksnih
brojeva.
>> a=[-1, 2; 3, 4] ; b=[5, -6; 7, 8] ; Z=a+b*i
Z=
-1.0000 + 5.0000i 2.0000 - 6.0000i
3.0000 + 7.0000i 4.0000 + 8.0000i
PRIMER 4:
Uneti matricu Z iz prethodnog primera tako to elemente
odmah unosimo kao kompleksne brojeve
- 18 -

>> Z=[-1+5*i , 2-6*i ; 3+7*i , 4+8*i]


Z=
-1.0000 + 5.0000i 2.0000 - 6.0000i
3.0000 + 7.0000i 4.0000 + 8.0000i

Element matrice A koji se nalazi u preseku i-te vrste i


j-te kolone moe se dobiti primenom naredbe A(i,j).

PRIMER 5:

2
3
1

Iz matrice A = 2 3 1 izdvojiti element u preseku


4 5 6
druge vrste i tree kolone.
>> A=[1 2 3 ; 2 -3 1 ; -4 -5 -6] ;
>> A(2 , 3)
ans =
1
Ako elimo da izdvojimo vrstu koristimo komandu A(k,:) ili kolonu
komandu A(:,k), gde k predstavlja traenu vrstu, odnosno kolonu.
Dimenzije matrice odreuju se naredbama size(A) ili [m,n]=size(A).

PRIMER 6:
Odrediti dimenzije date matrice A, koristei naredbu size.
>> size(A)
ans =
3 3

- 19 -

PRIMER 7:
Odrediti dimenzije matrice A koristei naredbu [m,n]=size(A).
>> [m, n]=size(A)
m=
3
n=
3

2.2. MATRICE SPECIJALNIH STRUKTURA


Naredba eye definie jedininu matricu .

Naredba

Opis

eye(n)

Jedinina matrica dimenzija nxn

eye(m,n)

Jedinina matrica dimenzija mxn

eye(size(A))

Jedinina matrica dimenzija date matrice A

PRIMER 7:
Formirati matricu sa dve vrste i tri kolone iji su elementi na
glavnoj dijagonali jednaki 1, a svi ostali elementi su jednaki 0.
>> X=eye(2,3)
X=
1 0 0
0 1 0

- 20 -

PRIMER 8:
Odrediti jedininu matricu istih dimenzije kao data matrice A .
>> X=eye(size(A))
X=
1 0 0
0 1 0
0 0 1
Naredba ones definie matricu iji su svi elementi jedinice

Naredba
ones(n)
ones(m,n)
ones(size(A))

Opis

Matrica dimenzije nxn iji su svi elementi


jedinice
Matrica dimenzije mxn iji su svi
elementi jedinice
Matrica dimenzije date matrice A iji su
svi elementi jedinice

PRIMER 9:
Formirati kvadratnu matricu reda 2 iji su svi elementi jednaki 1.

>> X=ones(2)
X=
1 1
1 1
Naredba zeros definie matricu iji su svi elementi nule

Naredba
zeros(n)
zeros(m,n)
zeros(size(A))

Opis

Matrica dimenzije nxn iji su svi


elementi nule
Matrica dimenzije mxn iji su svi
elementi nule
Matrica dimenzija date matrice A iji
su svi elementi nule
- 21 -

PRIMER 10:
Formirati matricu sa dve vrste i tri kolone iji su svi elementi
jednaki 0.
>> X=zeros(2,3)
X=
0 0 0
0 0 0
Naredba magic(n) definie matricu sa celobrojnim elementima
izmeu 1 i n2, dimenzija nxn, sa osobinom da je zbir elemenata
po vrstama i kolonama konstantan (arobni kvadrat).

PRIMER 11:
Formirati matricu treeg reda koristei naredbu magic.

>> X3=magic(3)
X3=

8
3
4

1
5
9

6
7
2

Naredbom diag(A) dobijamo dijagonalnu matricu date matrice A.

- 22 -

PRIMER 12:
Uoiti osobine matrica dobijenih korienjem naredbe diag.
>> A , X1=diag(A) , X2=diag(diag(A))
A=
1 2 3
2 -3 1
-4 -5 -6
X1 =
1
-3
-6
X2 =

1
0
0

0 0
-3 0
0 -6

2.3. OPERACIJE SA MATRICAMA


Osnovne operacije sa matricama su: sabiranje, oduzimanje,
mnoenje, stepenovanje, deljenje i transponovanje.

SABIRANJE I ODUZIMANJE MATRICA


Sabiranje i oduzimanje matrica vri se tako to se sabiraju,
odnosno oduzimaju odgovarajui elementi matrica. Tom
prilikom moramo voditi rauna da matrice budu istih dimenzija.
PRIMER 13:

2 3 4
Sabrati datu matricu A i matricu B = 1 1 1 .
3 2 1

- 23 -

>> A , B=[2, 3,-4; 1 -1, 1; 3, 2, -1] ; C=A+B


A=
1 2 3
2 -3 1
-4 -5 -6
C=
3 5 -1
3 -4 2
-1 -3 -7
Sabiranje i oduzimanje je izvodljivo i u sluaju da je jedan
inilac skalar. Takav izraz MATLAB tumai tako to svakom
elementu matrice dodaje ili od njega oduzima naznaeni skalar,
tj. skalar posmatra kao konstantnu matricu dimenzija
prilagoenih matrici koja se sabira ili oduzima.

PRIMER 14 :
Od date matrice A oduzeti skalar 1.
>>A, D=A-1
A=
1 2 3
2 -3 1
-4 -5 -6
D=
0 1 2
1 -4 0
-5 -6 -7

Napomena: Skalar 1 automatski se shvata kao matrica istih


dimenzija kao to je matrica A, iji su svi elementi jednaki 1.

- 24 -

MNOENJE MATRICA
Mnoenje matrica skalarom se vri tako to svaki element te
matrice pomnoimo vrednou datog skalara. Treba imati u vidu
da vai zakon komutativnosti tj. kA = Ak .
PRIMER 15 :
Ako je k = 5 , odrediti matricu F = 5 A .
>> A , F=5*A
A=
1 2 3
2 -3 1
-4 -5 -6
F=
5 10 15
10 -15 5
-20 -25 -30

Mnoenje dve matrice: Proizvod matrica A={ a i , j } (dimenzija


mxr) i B={ bi , j } (dimenzija rxn) je nova matrica C (dimenzija
r

mxn) iji su elementi cij = ai ,k bk , j .


k =1

PRIMER 16:

1 2
Pomnoiti matrice A i A1 = 2 3
1 6
>> A; A1=[1, 2 ; 2, -3 ; 1, 6] ; P=A*A1
P=
8 14
-3 19
-20 -29
- 25 -

PRIMER 17:
Pomnoiti matrice A1 i A .
>> A1*A
??? Error using ==> *
Inner matrix dimensions must agree.

Napomena: Kao to smo ve istakli MATLAB daje opis svih


greaka koje smo nainili tokom rada i u ovom primeru
podsea da kod mnoenja matrica mora da se vodi rauna o
dimenzijama.
OPERACIJE NAD POLJEM BROJEVA
Operatori nad poljem brojeva se razlikuju od operatora nad
matricama. U zapisu sadre decimalni taku ispred operatora.
Kada je u pitanju sabiranje i oduzimanje, razlike nema, pa se i
ne koriste simboli + i -.
Kod ostalih operacija, napr mnoenja, razlika je to se operacije
nad poljem brojeva obavljaju lan po lan, to ne mora da bude
sluaj sa operacijama sa matricama.
PRIMER 18:
Uoiti razliku izmeu mnoenja * i .*
>> A ; C=[-2 4 0 ; 4 -6 4 ; 0 -4 -12] ;
>> A*C
ans =
6 -20 -44
-16 22 0
-12 38 92
>> A .*C
ans =
-2 8 0
8 18 -4
0 20 72
- 26 -

TRANSPONOVANJE MATRICA
Transponovanje matrica sa realnim koeficijentima, je zamena
vrsta i kolona. Vri se pomou operatora ' .

PRIMER 19 :
Transponovati datu matricu A.
>> A , E=A'
A=
1 2 3
2 -3 1
-4 -5 -6
E=
1 2 -4
2 -3 -5
3 1 -6

2.4. DETERMINANTA MATRICE


Determinanta kvadratne matrice je broj koji se u MATLAB-u
izraunava pomou operatora det.

PRIMER 20 :
Izraunti determinantu matrice A.
>> A , D=det(A)
A=
1 2 3
2 -3 1
-4 -5 -6
D= -27

- 27 -

2.5. INVERZNA MATRICA


Inverzna matrica matrice A definie se kao A 1 =

1
adjA .
det( A)

U MATLAB- u inverzna matrica A 1 odreuje se pomou


operatora inv(A).

PRIMER 21 :
Nai inverznu matricu date matrice A.
>> A ; I=inv(A)
I=
-0.8519 0.1111 -0.4074
-0.2963 -0.2222 -0.1852
0.8148 0.1111 0.2593

PRIMER 22 :
Izraunati inverznu
1
jednaka nuli) S = 4
7

matricu singularne matrice (determinanta


2 3
5 6 .
8 9

>> S=[1 2 3 ; 4 5 6 ; 7 8 9]
>>det(A)=0
0
>> inv(S)
Warning: Matrix is close to singular or badly scaled.
Results may be inaccurate.

- 28 -

2.6. .DELJENJE
DELJENJE MATRICA
U matrinom raunu operacija deljenja nije definisana, ali u
MATLAB- u , postoje dva operatora deljenja:
\ oznaava deljenje sa leva, a / oznaava deljenje sa
desna
Neka je A kvadratna regularna matrica.
A \ B = A 1 * B
A / B = B * A 1
Rezultati se dobijaju direktno, bez raunanja inverzne matrice.

PRIMER 23:
U sledeem primeru moemo uoiti razliku izmeu operatora
deljenja sa leva \ i sa desna /.
>> A ; B ; K=A\B , K1=A/B
K=
-2.8148 -3.4815 3.9259
-1.3704 -1.0370 1.1481
2.5185 2.8519 -3.4074
K1 =
-2.2000 -3.0000 2.8000
0.9000 3.5000 -1.1000
4.6000 6.0000 -6.4000

DELJENJE POLJA BROJEVA


Za deljenje polja brojeva koristi se simbol . / gde taka izpred
oznake za deljenje ukazuje da se operacija vri element po
element.
Elementima C=A./B podrazumeva sledei postupak:
c(i,j) = a(i,j) / b(i,j), gde su a(i,j), b(i,j) elementi matrica A, B.
Na identian nain se definie deljenje A.\B.

- 29 -

PRIMER 24:
U sledeem primeru moemo uoiti razliku izmeu A./B i A.\B
>> A./B
ans =
0.5000 0.6667 -0.7500
2.0000 3.0000 1.0000
-1.3333 -2.5000 -6.0000
>> A.\B
ans =
2.0000 1.5000 -1.3333
0.5000 0.3333 1.0000
-0.7500 -0.4000 -0.1667

Napomena: Izraz X=A\B (X= A 1 B) predstavlja reenje


jednaine AX=B, a izraz X=A/B (X=B A 1 ), predstavlja reenje
jednaine XA=B.
PRIMER 25:
Reiti matrinu jednainu AX=B gde su date matrice
2
3
1
1

A = 2 3 1 i B = 2 .
4 5 6
2

(Uputstvo: AX = B X = A1 B )
>> A ; B ; X=inv(A)*B
X=
0.1852
-0.3704
0.5185
ili
>> X=A\B
X=
0.1852
-0.3704
0.5185

- 30 -

PRIMER 26:
Podeliti matricu A skalarom 2, sa leva i sa desna.
>> A\2
??? Error using ==> \
Matrix dimensions must agree.
>> A/2
ans =
0.5000 1.0000 1.5000
1.0000 -1.5000 0.5000
-2.0000 -2.5000 -3.0000

VEBA:
Koristei datu matricu A odrediti:

1.

a) lan na mestu (3,1),


b) drugu vrstu matrice A,
c) determinantu matrice A 2 ,
d) transponovanu matricu matrice A 1 .

(A )
Izraunati

2 T

2.
3.
ako je:

+ A 1

koristei datu matricu A .


4 + det A
Reiti matrinu jednainu A 2 XB = C (na dva naina),

1 2
0 3
8 17
, B=
, C=
A=

.
1 0
2 1
8 11

4.
Dati su elementi , e, 2 . Formirati matricu 3x3, iju
prvu vrstu ine dati brojevi, drugu vrstu njihovi logaritmi, a
treu vrstu kvadratni koreni datih brojeva.

- 31 -

- 32 -

3. VEBA - GRAFIKA
MATLAB poseduje velike mogunosti grafikog predstavljanja.
U ovoj vebi bie obraene neke najosnovnije narebe za crtanje
dvodimenzionalnih grafika.

3.1. GRAFIKO PREDSTAVLJANJE


FUNKCIJA JEDNE PROMENLJIVE
Najjednostavniji nain za grafiko predstavljanje, sa linearnom
podelom na osama, je korienjem naredbe plot(x). Prilikom
crtanja otvara se grafiki prozor za koji vae ista pravila kao
kod Windows prozora.

PRIMER 1:
Nacrtati vektor x = (1, 2, 4,8,16) .
>> x=[1,2,4,8,16];plot(x)
16
14
12
10
8
6
4
2
0

1.5

2.5

3.5

4.5

Iz ovog primera moemo videti da je MATLAB za vrednosti


nezavisno promenljive x uzeo redni broj elementa, a njihove
slike su vrednosti vektora x , tj. take nacrtanog grafika imaju
koordinate (1,1) , ( 2, 2 ) , ( 3, 4 ) , ( 4, 6 ) ....
U optem sluaju naredba plot(x) crta grafik spajajui take (i,
x(i)), i=1, 2, 3,, N, gde je N duina vektora.
- 33 -

Nezavisno promenljiva moe biti zadata posebno. U tom sluaju


se koristi naredba plot(x,y).

PRIMER 2:
Nacrtati vektor zadat
y = (1, 2, 4,8,16) .

koordinatama

x = (1, 2, 4,8,16)

>> x=[1,2,4,8,16]; y=[-1,2,-4,8,16]; plot(x,y)


16
14
12
10
8
6
4
2
0
-2
-4

10

12

14

16

Naredba plot se koristi i za crtanje funkcija jedne promenljive.

- 34 -

PRIMER 3:
Nacrtati funkciju y = 2e x u domenu x [ 1,1] sa korakom 0.1 .

>> x=-1:.1:1; y=2*exp(x); plot(x,y)


5.5
5
4.5
4
3.5
3
2.5
2
1.5
1
0.5
-1

-0.8

-0.6

-0.4

-0.2

0.2

0.4

0.6

0.8

PRIMER 4:
U istom koordinatnom sistemu nacrtati funkcije y = 2 x i

y = 2e x , u domenu x [ 1,1] sa korakom 0.1

>> x=-1:.1:1; y1=2*x ;y2=2*exp(x); plot(x,y1,x,y2)


6
5
4
3
2
1
0
-1
-2
-1

-0.8

-0.6

-0.4

-0.2

0.2

0.4

0.6

- 35 -

0.8

Za izbor vrste i oblika linija koristi se naredba


plot(x,y,'vrsta linije').

Simbol
Opis
linije

.
o
h
+
*
-.
:
--

Taka
Krug
h-znak
Plus
Zvazda
Puna linija
Taka crta
Takasta
Isprekidana linija

Simbol
Boja
boje

y
m
s
r
g
b
k
w

uta
Ljubiasta
Cijan
Crvena
Zelena
Plava
Crna
Bela

- 36 -

PRIMER 5:
U predhodnom primeru uvedimo oznake za vrstu i boju linije.
>> x=-1:.1:1;y1=2*x; y2=2*exp(x);
>> plot(x1,y1,'g',x2,y2,'m+')
6
5
4
3
2
1
0
-1
-2
-1

-0.8

-0.6

-0.4

-0.2

0.2

0.4

0.6

0.8

Za crtanje grafika funkcija moemo da koristimo naredbu


fplot(f,xmin,xmax).
Funkcija koju crtamo ima oblik f ( x ) , gde je x vektor iji je
prvi element xmin, a poslednji element xmax.
U naredbi fplot funkcija se pie pod navodnicima ' f '.

- 37 -

PRIMER 6:
Nacrtati funkciju y = x 2 9 u domenu x [ 3,3] .
>> y='x^2-9'; fplot(y,[-3,3])
0
-1
-2
-3
-4
-5
-6
-7
-8
-9
-3

-2

-1

3.2. OZNAAVANJE GRAFIKA I OSA


MATLAB nudi mogunosti oznaavanja osa, pisanja razliitog
teksta i razne druge mogunosti.

Oznaka
title
xlabel
ylabel
text
gtext
grid

Opis
naziv grafika
naziv x ose
naziv y ose
naziv teksta na grafiku
tekst na poziciji oznaenoj miem
crtanje linija mree

Tekst u predhodnim naredbama pie se u zagradi pod


navodnicima. Naredba hold on zadrava sliku na ekranu.
Suprotna njoj je naredba hold off . U naredbi gtext korisnik
naknadno sam odreuje miem mesto na koje eli da smesti
tekst.

- 38 -

PRIMER 9:
Nacrtati funkciju y = sin x na domenu x [ 2 , 2 ] i koristei
naredbe iz tabele obeleiti sliku.
>> y='sin(x)';fplot(y,[-2*pi,2*pi])
>> hold on
>> grid
>> title('sinusna funkcija')
>> xlabel('x osa')
>> ylabel('y osa')
>> gtext('max')
sinusna funkcija
1

max

0.8
0.6
0.4

y osa

0.2
0
-0.2
-0.4
-0.6
-0.8
-1

-6

-4

-2

0
x osa

Naredba subplot(m, n, p) formira vie grafika na ekranu. Ekran


se deli na m n delova, a grafik se crta u p -tom delu ekrana.

- 39 -

PRIMER 11:
Koristei naredbu subplot nacrtati funkcije: y = x

y = xe

x [ 0,1] ,

y=x

x [ 2, 2] ,

x [ , ] .

y = cos x

>> x1=-1:1:1; y1=x1;


>> x2=0:0.5:1; y2=x2.*exp(x2);
>> x3=-2:.1:2; y3=x3.^2;
>> x4=-pi:pi/16:pi; y4=cos(x4);
>> subplot(2,2,1),plot(x1,y1)
>> subplot(2,2,2),plot(x2,y2)
>> subplot(2,2,3),plot(x3,y3)
>> subplot(2,2,4),plot(x4,y4)
1

0.5
2
0
1

-0.5
-1
-1

-0.5

0.5

0.5

-0.5

0
-2

-1

-1
-4

0.5

-2

- 40 -

x [ 1,1] ,

3.3. SKALIRANJE OSA


Ose x i y automatski se postavljaju na osnovu minimalne i
maksimalne vrednosti koordinata.

Oznaka

Opis

axis('equal')

Provera se da li je prirataj po osama


isti

axis(xmin,xmax,ymin,ymax)

Zadaju se granice u kojima e biti


nacrtan grafik

axis('normal')

Vraanje
grafika

axis('axis')

Vraanje na prvobitno skaliranje

axis

Dobija se informacija o trenutnim


dimenzijama

na

prvobitne

dimnezije

PRIMER 12:
Nacrtati funkciju y = sin x za -2 x 2 , , a zatim postaviti
da opseg po x osi bude - x , a po y osi bude 2, 2 .
>> x=-2*pi:pi/16:2*pi; y=sin(x);plot(x,y),grid
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
-8

-6

-4

-2

- 41 -

>> axis([-pi,pi,-2,2])
2
1.5
1
0.5
0
-0.5
-1
-1.5
-2

-3

-2

-1

VEBA:
1. Nacrtati funkcije y = sin x i y = cos x u opsegu
od 0, 2 .
2. Nacrtati krug sa centrom u taki (2,2) i
poluprenikom 4.
3. Nacrtati funkciju y = x 2 5 x + 6 u proizvoljnom
opsegu i opisati je tekstom.
4. Koristei naredbu subplot nacrtati funkcije
y = x n , n [1, 6] .

- 42 -

4. VEBA - UPRAVLJANJE TOKOM


PROGRAMA
Raunarski program je niz naredbi. Kada je program
jednostavan naredbe se izvravaju jedna za drugom, po
redosledu kako su napisane. Meutim, postoje sloeni programi
kada se naredbe ne moraju tako izvravati. MATLAB ima vie
naredbi koje omoguavju korisniku da upravlja tokom
programa. To su: if, for, while, else, break, error, while...
Uslovni iskaz je naredba koja omoguava MATLABu da se
odlui da li e izvriti grupu naredbi koje slede ili e ih
preskoiti. U uslovnom izrazu mora se zadati uslov.

4.1. USLOVNI IZRAZ : IF


Naredba if se koristi za uslovno izvravanje programa.
Oblik petlje je:

if izraz
naredbe
end
ili

if izraz
naredba 1
else
naredba 2
end
ili

if izraz 1
naredba 1
elseif izraz 2
- 43 -

naredba 2
else
naredba 3
end
Ako uslovni izraz u iskazu ima vrednost tano - true (1),
program izvrava komande koje neposredno slede sve do
komande end. Ako je uslovni izraz netaan false (0 ) ,
program preskae grupu komandi izmeu if i end i nastavlja da
izvrava komande iza end.
Vrednost nezavisno promenljive moe da se unese i
korienjem naredbe input(tekst).
>> x=input ('unesi promenljivu x=');
>> y=input ('unesi promenljivu y=');
Za ispisivanje izlaznih rezultata koristi se naredba disp(tekst).

- 44 -

PRIMER 1:
Uneti godine starosti i ako je broj godina manji od 21 na izlazu
ispisati 'zabranjen alkohol', a u suprotnom izai iz programa.

start

Unesi godine

Ako su
godine
manje od
21

Nema alkohola

>> godine=input('god');
god12
>> if godine <21
disp('zabranjen alkohol')
end
zabranjen alkohol
>> godine=input('god');
god33
>> if godine <21
disp('zabranjen alkohol')
end
U prvom sluaju uneti broj godina je bio manji od 21, pa smo na
ekranu dobili ispis zabranjen alkohol. U drugom sluaju je bio
vei od 21 i na ekranu nije bilo ispisa.

- 45 -

PRIMER 2:
Uneti godine starosti i ako je broj godina manji od 21 ispisati
na izlazu 'zabranjen alkohol', a u suprotnom ispisati 'dozvoljen
alkohol'.

>> godine =input ('godine su:');


godine su:12
>> if godine <21
disp( 'zabranjen alkohol' )
else
disp( 'dozvoljen alkohol' )
end

- 46 -

PRIMER 3:
Za unapred zadatu vrednost promenljive x izraunati vrednost
izraza y , tako da, ako je x < 2 sledi da je y = 2 x , za x = 2 je
y = 2 , inae je y = 2 x .
> x=input('x=')
x=4
x=
4
>> if x<2
y=-2*x;
elseif x= =2
y=2;
else
y=2*x;
disp(y)
end
8

Napomena: Treba obratiti panju da u izrazu x= =2 koristi se


oznaka
= = , a ne =, zato to se u ovom izrazu koristi logiki oprator za
uporeivanje veliina.

- 47 -

4.2. USLOVNI IZRAZ: FOR- PETLJA


for petlja omoguava ponavljanje dela programa zadati broj
puta. Zavrava se komandom end.
Oblik petlje:

for promenljiva=izraz
naredbe
end
PRIMER 4:
Za sve vrednosti promenljive

x {1, 2, 3, 4, 5}

vrednost funkcije y = sin 2 x .

>> for x=1:5


y (x)=sin(2*x);
end
>> y
y=
0.9093 -0.7568 -0.2794

0.9894 -0.5440

- 48 -

izraunati

PRIMER 5 :
Napisati matricu A iji se elementi izraunavaju po zakonu
1
, a koja ima 4 vrste i 3 kolone.
a ( i, j ) =
2i + j 2
>> for i=1:4
for j=1:3
A(i,j)=1/(2*i+j-2);
end
end
>> A
A=
1.0000 0.5000
0.3333 0.2500
0.2000 0.1667
0.1429 0.1250

0.3333
0.2000
0.1429
0.1111

U ovom primeru koriena je dupla for petlja.

- 49 -

4.3. USLOVNI IZRAZ: WHILE- PETLJA


While petlja koristi se za ponavljanje skupa naredbi dokle god
je neku uslov taan i kada nije poznat broj prolaza kroz petlju
unapred. Uslov je obino neko poreenje u kome se koriste
relacijski logiki operatori.
Oblik petlje:

while izraz
naredbe
end
PRIMER 6:
Izraunavati vrednosti promenljive x , po zakonu x = 2 x ,
dogod je x 15 .
>> x=1;
>> while x <=15
x=2*x;
end
>> x
x = 16
Kako funkcionie nareba, preciznije se moe
prikaemo sve meu-rezultate promenljive x.
>> x=1
>> while x <=15
x=2*x
end
x=
1
x=
2
x=
4
x=
8
x=
16
- 50 -

videti, ako

Deo programa izmeu while i end izvrava se sve dok je izraz


koji sledi posle while istinit.

PRIMER 7:

Izraunati

zbir

reda

s=

( 1)

n =1

= 1 +

1 1 1
+ K sa
4 9 16

tanou 10 .
>> s=0;
>> n=1;
>> while abs((-1)^n/n^2)>10^(-4)
s=s+(-1)^n/n^2;
n=n+1;
end
>> s
s=
-0.8225

VEBA:
1.Formirati matricu dimenzija 5x5 iji su elementi
a (i, j ) = i + 2 j .
2.Za unete godine starosti u zavisnosti da li je taj broj
manji od 21 ispisati na izlazu 'zabranjen alkohol', ako
je broj godina vei od 65 ispisati 'alkohol zabranjen iz
zdravstvenih razloga', inae, ispisati 'dozvoljeno piti
umereno'.
3.Izraunati 5! koristei petlje.

- 51 -

- 52 -

5. VEBA - M FAJLOVI (DATOTEKE)


Svi dosadanji primeri bili su izvravani sa komandne linije.
Nedostatak ovakvog naina rada je gubljenje unetih podataka i
svih dobijenih rezultata nakon zavretka rada u MATLAB-u.
Zato se namee potreba za formiranjem fajlova u koje se mogu
smestiti programi, numeriki rezultati, grafici, strukture, itd. koji
e ostati trajno sauvani i po potrebi biti pozivani od strane
korisnika.
Zavisno od toga ta se u fajlu eli sauvati MATLAB generie i
koristi M, MAT i MEX fajlove.

MAT fajlovi sadre binarne podatke i u imenu imaju ekstenziju


.mat. MAT fajl osim strukture podataka pamti i ime podataka.
Takoe se MAT fajl moe upamtiti tako da bude upotrebljiv i za
neke druge programe. Drugim reima, postoji mogunost izbora
u kome formatu e se ovi podaci sauvati.
MEX fajlovi predstavnjaju proirenje mogunosti MATLAB-a.
To su programi pisani u nekom od programskih jezika C ili
FORTRAN-u, a koji se mogu pozivati iz MATLAB-a.
M fajlovi su specifinost MATLAB-a. To su fajlovi koji sadre
tekst u ASCII kodu i u imenu imaju ekstenziju .m.
Postoje dve vrste M fajlova: komandni (script) i funkcijski
(function).
Formiranje M fajlova vri se korienjem editora teksta koji se u
MATLAB programskom paketu pokree tako to se iz menija
File komandnog prozora bira komanda New, a zatim opcija Mfile. Tada se otvara nov prozor programa za ureivanje teksta
koji slui za formiranje M fajla.

- 53 -

Biranjem opcije M - file otvara se prozor za unos fajla koji


hoemo da zapamtimo. Posle ispisa, aktiviranjem naredbe
File/Save pamtimo fajl pod imenom koje sami odaberemo.
Program se izvrava ukucavanjem imena fajla bez ekstenzije.

Komandni fajl predstavlja niz MATLAB izraza i komandi koje


se izvravaju kada se fajl pozove. Fajl se poziva ukucavanjem
njegovog imena u komandnoj liniji. Sve promenljive su
definisane u radnom prostoru MATLAB-a , a prosleuju se u
komandni fajl i obrnuto. Ako treba da izmenite kmande u fajlu ,
snimite je i ponovo pokrenite.
PRIMER 1:
Odrediti zbir kvadrata prvih deset prirodnih brojeva i
sauvati fajl pod imenom zbir.
% ime ovog m fajla je zbir
x=1:10;
x=[x.^2];
z=sum(x)

- 54 -

Svaki put kada nam je potreban ovaj rezultat, dovoljno je samo


otkucati re zbir, pod kojim smo upamtili ovaj fajl. Kao rezultat
dobijamo:
z=
385
Ovako sauvani fajl je otvoren prema podacima koje smo
unosili tokom rada, tako da moe da se dogodi greka. Zato je
bolje formirati funkcijske fajlove koji su zatvoreni sistemi i
zatieni od nepoeljnih podataka.
Funkcijski fajl omoguava korisniku MATLAB-a da stvara
nove funkcije. Funkcijski fajlovi moraju u prvoj liniji da sadre
naredbu oblika:

function [y1, y2,] = ime funkcije (x1, x2,)


function ime funkcije (x1, x2,)
function [y1, y2,] = ime funkcije
Ulazni argumenti su x1 , x2 ,L ,a izlazni argumenti
su funkcije, koje se dobijaju kada se funkcija pozove.

y1 , y2 ,L

Posle ovoga izraza sledi niz MATLAB komandi i izraza.

PRIMER 2:
Formirati funkcijski fajl u kome se definie nova funkcija
f ( x ) = e x + sin x pod imenom fi.
% funkcijski fajl
% ime nove funkcije je fi
function y=fi(x)
y=exp(x)+sin(x);
- 55 -

Ako elimo da izraunamo vrednost ove funkcije, dovoljno je


da pozovemo funkciju fi i definiemo vrednost promenljive, na
primer x =

>> fi(pi/2)
ans =
5.8105

PRIMER 3:
Formirati funkcijski fajl u kome se definie nova funkcija
f ( x ) = e x + sin x pod imenom fa, a da se vrednost nezavisno
promenljive unese korienjem naredbe input (tekst).
% ime nove funkcije je fa
function y=fa
x=input('unesi promenljivu x=')
y=exp(x)+sin(x);
Pozivanjem funkcije fa i odgovorom na postavljeno pitanje
dobiemo odgovor:
>> fa
unesi promenljivu x=3
x=
3
ans =
20.2267

- 56 -

PRIMER 4:
Formirati funkcijski fajl pod imenom ime kojim se odreuje
broj slova u nekom imenu.
% funkcijski fajl ime kojim se odredjuje broj slova u imenu
function br(x)
x=input('unesi svoje ime:','s')
% oznaka s u naredbi oznacava da se unose stringovi
n=length(x);
disp(['broj slova u imenu je',num2str(n)])
>> ime
unesi svoje ime: ivana
x=
ivana
broj slova u imenu je 5
U naredbi disp, tekst je definisan kao dvodimenzioni vektor, ija
je prva komponenta znak (string), a druga koja je kao rezultat
programa broj koji mora da se naredbom num2str prebaci u
znak (string).

PRIMER 5:
Formirati funkcijski fajl pod imenom element, za
izraunavanje elemenata matrice n m , gde je aij = sin ( 2ij i )
za i = j , a aij = sin ( 2ij i ) +

1
za i j .
2

% izraunavanje elemenata matrice


function a=element(i,j)
if i= =j
a=sin(2*i*j-i);
else
a=sin(2*i*j-i)+0.5;
end
- 57 -

Ako elimo da odredimo bilo koji element nae matrice, na


primer element (2,3), pozvaemo formirani fajl pod imenom
element:
>> element(2,3)
ans =
-0.0440
Koristei formirane fajlove moemo formirati nove funkcijske
fajlove.

PRIMER 6 :
Formirati funkcijski fajl pod imenom matrica, za definisanje
matrice prizvoljnog reda n m , iji su elementi dati funkcijskim
fajlom pod imenom element.
% formiranje matrice ciji su elementi
% sinusne funkcije iz fajla pod imenom element
% ime novog fajla je matrica
function A=matrica(m,n)
for i=1:m
for j=1:n
A(i,j)=element(i,j);
end,end
Ako elimo da definiemo neku odreenu matricu na primer
matricu sa 2 vrste i 3 kolone moemo postupiti na sledei nain:
>> matrica(2,3)
ans =
0.8415 0.6411 -0.4589
1.4093 -0.2794 -0.0440

- 58 -

VEBA:
1.

Formirati funkcijski fajl pod imenom si


sin( x)
kojim se izraunava funkcija
, zatim
x

izraunati si , si ( 0 ) .
2

2.
Formirati funkcijski fajl pod imenom
ime kojim svako unosi svoje ime i prezime,
prebrojava broj slova i ako je taj broj manji od 15
odreuje moduo i argument kompleksnog broja
z = 1 + 3i , ako je broj slova izmeu 15 i 20 definie
jedininu matricu 3 3 , a ako je vei od 20
izraunava sumu kvadrata prvih 100 prirodnih
brojeva.

- 59 -

- 60 -

6. VEBA - REAVANJE JEDNAINA I


SISTEMA ALGEBARSKIH JEDNAINA
6.1. SREIVANJE POLINOMA
Naredba roots koristi se za izraunavanje reenja, odnosno nula
polinoma.
Naredba ima oblik

r = roost (p) gde je r vektor koji sadri reenja polinoma, a p


vektor koji sadri koeficijente polinoma.
PRIMER 1:
Odrediti nule polinoma x 2 5 x + 6 = 0 .
>> p=[1 -5 6];
>> r=roots(p)
r=
3.0000
2.0000
Sa druge strane, kada su poznata reenja polinoma, pomou
naredbe poly mogu se odrediti koeficijenti polinoma, odnosno
napisati polinom.
Naredba ima oblik

p=poly (r) gde je r vektor koji sadri reenja polinoma, a p


vektor koji sadri koeficijente polinoma.

- 61 -

PRIMER 2:
Odrediti polinom ija su reenja x = 2 i x = 3 .
>> r=[2 3];
>> p=poly(r)
p=
1

-5

Dakle, traeni polinom je x 2 5 x + 6 .

6.2. OPERACIJE SA POLINOMIMA


Polinomi se sabiraju i oduzimaju tako to se saberu, odnosno
oduzmu koeficijenti polinoma (odgovarajuih monoma).

PRIMER 3:
Sabrati polinome p1 ( x ) = 3 x 3 2 x 2 4 x + 6 i

p2 ( x ) = x 4 + 2 x 3 7 x 2 3 x + 1 .
>> p1=[3 -2 -4 6];
>> p2=[1 2 -7 -3 1];
>> p=[0 p1]+p2
p=
1

-9

-7

Kako polinomi nisu istog stepena krai vekror se mora dopuniti


nulama da bi bio iste veliine kao dui vektor.
Polinomi se mnoe pomou naredbe conv.
Naredba ima oblik

c=conv (a,b) gde je c vektor koeficijenata polinoma rezultata, a


a i b su vektori koeficijenta polinoma koji se mnoe.
- 62 -

PRIMER4 :
Pomnoiti polinome p1 i p2 .
>> c=conv(p1,p2)
c=
3

4 -29

49 -32 -22

Dakle, reenje je polinom


3 x 7 + 4 x 6 29 x 5 + 3 x 4 + 49 x 3 32 x 2 22 x + 6
Polinomi se dele pomou naredbe deconv.
Naredba ima oblik

[q,r]=deconv (a,b) gde je q vektor koeficijenata polinoma


kolinika, r vektor koeficijenata polinoma ostatka, a je vektor
koeficijenta polinoma brojioca, b je vektor koeficijenta
polinoma imenioca.
PRIMER 5:
Podeliti polinome p1 ( x ) = 2 x3 + 9 x 2 + 7 x 6 i p2 ( x ) = x + 3 .
>> p1=[2 9 7 -6];
>> p2=[1 3];
>> [q r]=deconv(p1,p2)
q=
2 3 -2
r=
0 0 0 0
Dobijamo da je kolinik polinom 2 x 2 + 3 x 2 , bez ostatka.

- 63 -

6.3. REAVANJE JEDNAINA SA JEDNOM


PROMENLJIVOM
Jednaina sa jednom promenljivom ima oblik f ( x ) = 0 .
Za izraunavanje nula funkcije koristi se naredba fzero.
Naredba ima oblik

x=fzero('funkcija',x0)

x je skalarna vrednost
Funkcija se unosi u obliku znakovnog niza ( string ). Funkcija
se prethodno moe definisati u funkcijskom fajlu , a ime
funkcije se zadaje u obliku znakovnog niza.
x0 je vrednost promenljive x u blizini mesta gde funkcija
preseca x osu.
x0 moe biti skalar ija je vrednost bliska taki preseka funkcije
sa x osom ili vektor sa dva elementa ije su vrednosti take na
suprotnim stranama reenja. Ako ima vie reenja svako se
izraunava za sebe.
Poetno reenje x0 se moe odrediti grafikim putem.
Funkcija fzero pronalazi samo reenja u kojima funkcija preseca
x osu.

- 64 -

PRIMER 6:
Nai reenja jednaine xe x = 0.2
Priblina reenja odreujemo grafiki.
>> fplot('x*exp(-x)-0.2',[0 8]);grid

Sa slike vidimo da su priblina reenja 0, 7 i 2,8 .


>> x1=fzero('x*exp(-x)-0.2',0.7)
x1 =
0.2592
>> x1=fzero('x*exp(-x)-0.2',2.8)
x1 =
2.5426

- 65 -

6.4. REAVANJE SISTEMA LINEARNIH


JEDNAINA
Ako je determinanta sistema od n linearnih algebarskih
jednaina sa n promenljivih razliita od nule, tada taj sistem
ima jedinstveno reenje dato formulom

xj =

Dj
D

, ( D 0, j = 1, 2,..., n) ,

gde je D determinanta tog sistema, a D j determinanta dobijena


tako to su u D koeficijenti uz x j zamenjeni, redom, slobodnim

lanovima b j .
Navedene formule su poznate Kramerove formule.
PRIMER 7 :
Kreirati fajl Cramer za reavanje sistema linearnih
algebarskih jednaina koristei Kramerovo pravilo.
% Novi fajl pod imenom Cramer
%Resavanje sistema AX=B Cramerovim pravilom
function X=Cramer(A,B)
[m,n]=size(A);
if m ~= n,
error('Matrica nije kvadratna'),
end
if det(A)==0,
error('Matrica je singularna'),
end
for j=1:n,
C=A; C(:,j)=B; X(j)=det(C)/det(A);
end
X=X';

- 66 -

PRIMER 8:
Koristei kreirani fajl Cramer reiti sistem jednaina

2x 4 y z = 0
x + 2 y + 2z = 6
3x + 6 y

=6

>> A=[2 4 1 ; 1 2 2 ; 3
6 0]
>> B=[0 ; 6 ; 6]
>> Cramer(A , B)
ans =
2
0
4

PRIMER 9 :
Koristei kreirani fajl Cramer reiti sistem jednaina
2 x + 3 y + z = 1
x + 3y 2z = 1 .
x 6y + z

=3

>> A1=[2 3 1;1 3 2;1 6 1]


A1 =
-2 3 1
1 3 -2
1 -6 1
>> B1=[1;1;3]
B1 =
1
1
3
Cramer(A1,B1)
??? Error using ==> cramer
Matrica je singularna
- 67 -

PRIMER 10 :
Reiti sistem jednaina matrinom metodom
2 x + 3 y + z = 1
x + 3y 2z = 1 .
x 6y + z

=3

>> A=[-2 3 1;1 3 -2;1 -6 -1]


A=
-2 3 1
1 3 -2
1 -6 -1
>> B=[1;1;3]

B=
1
1
3
>> X=INV(A)*B
X=
-2.5000
-0.5000
-2.5000

- 68 -

PRIMER 11:
Reiti sistem jednaina matrinom metodom i koristei kreirani
fajl Cramer. Uporediti ovako dobijena reenja.

2 x + 3 y + z = 11
3 x + 5 y + 2 z = 19
x + 2 y + 3 z = 14

>> M=[2, 3, 1 ; 3, 5, 2 ; 1, 2, 3]
M=
2 3 1
3 5 2
1 2 3
>> N=[11 ; 19 ; 14]
N=
11
19
14
>> X1=inv(M)*N
X1 =
1.0000
2.0000
3.0000
>> X2=Cramer(M,N)
X2 =
1
2
3

- 69 -

VEBA:
1. Odrediti koeficijente polinoma
y = ( x 1)( x 2 )( x 3) .
2.

Reiti jednainu x 4 2 x 2 + 1 = 0 .

3.

Reiti jednainu ax 2 + 5bx 2 = 0 .

4. Reiti sistem jednaina 2 x 2 + 2 x y 1 = 0 i


y 2x 1 = 0 .
5.Reiti sistem jednaina matrinom metodom i
koristei kreirani fajl Cramer. Uporediti ovako
dobijena reenja.
2 x y + 3z = 9
3 x 2 y + 4 z = 11 .
x y+z =2

- 70 -

7. VEBA - SIMBOLIKA MATEMATIKA


Sve matematike operacije koje smo do sad koristili bile su
numerike. Zadati izrazi sadrali su brojeve i promenljive
kojima su predhodno dodeljene numerike vrednosti. Rezultat
takvih operacija je numerika vrednost ( broj ili vektor brojeva).
Sa druge strane, mnogi matematiki problemi zadati su
izrazima koji sadre simbolike promenljive, koje nemaju
numeriku vrednost u trenutku izvrenja. Rezultat takvih
operacija je simboliki izraz.
Symbolic Math Toolbox nam omoguava da radimo sa
simbolikim promenljivim. Komande i funkcije za simbolike
operacije imaju istu sintaksu i stil rada kao komande za
numerike operacije.

7.1. SIMBOLIKI OBJEKTI I IZAZI


Simboliki objekti mogu biti promenljive ( kojoj nije dodeljena
numerika vrednost ), brojevi ili izrazi sastavljeni od
simbolikih promenljivih i brojeva .
Naredbe za definisanje simbolikih promenljivih su sym ili
syms.
Naredba ima oblik

ime objekta = sym ( ' znakovni izraz' )


>> a=sym('a')
a=
a

- 71 -

PRIMER 1:
Napisati
15 kao simboliku, a zatim kao numeriku
promenljivu.
> s=sym('15')
s=
15
>> s=15
s=
15

Napomena: Rezultat u prvom sluaju je simbolika promenljiva


i rezultat se prikazuje na ekranu sa uvlakom, nasuprot drugom
rezultatu koji je numeriki rezultat i na ekranu se prikazuje bez
uvlake.
Naredba syms koristi se za definisanje vie simbolikih
objekata.

syms ime promenljive, ime promenljive,.......


PRIMER 2:
Napisati simboliki izraz f = ax 2 + bx + c .
> syms a b c x
>> f=a*x^2+b*x+c
f=
a*x^2+b*x+c

- 72 -

PRIMER 3:
Napisati simboliki izraz f = ax 2 + bx + c .
>> f=a*x^2+b*x+c
f=
a*x^2+b*x+c

Napomena: Za razliku od predhodnoh primera gde smo


definisali sve ulazne promenljive i dobili simboliki izraz f, u
drugom primeru nismo definisali ulazne promenljive i samim
time sa simbolikim izrazom f ne moemo vriti nove operacije
u kojima uestvuju promenljive a,b,c,x, jer ih nismo posebno
definisali. Napr. Ne moemo sabrati izraz f i promenljivu x.
PRIMER 4:
2
+ b za a = 3 i b = 4 . Prvo
a
uzeti da su a i b simbolike promenljive, a zatim ih zadati kao
numerike vrednosti.
Izraunati vrednost izraza y =

> a=sym(3);b=sym(4);
>> c=2/a+sqrt(b)
c=
8/3
>> a=3;b=4;
>> c=2/a+sqrt(b)
c=
2.6667
Napomena: Ako raunamo sa simbolikim promenljivim
rezultat je tana brojna vrednost i vidi se na ekranu bez uvlake,
a u drugom sluaju rezultat je priblina numerika vrednost.

- 73 -

7.2. REAVANJE JEDNAINA


Reavanje jednaina i sistema jednaina vri se
naredbom solve.
Naredba ima oblik :

s=solve(jednaina)
s=solve(jednaina, promenljiva )
PRIMER 5:
Reiti jednainu 2 x 5 = 0
> syms x
>> y=solve(2*x-5)
y=
5/2
Jednaina sadri jednu ulaznu simboliku promenljivu x , a
reenje je broj, dat kao simbolika promenljiva.

PRIMER 6:
Reiti jednainu ax 2 + bx + c = 0
>> syms x a b c
>> solve(a*x^2+b*x+c)
ans =
[ 1/2/a*(-b+(b^2-4*a*c)^(1/2))]
[ 1/2/a*(-b-(b^2-4*a*c)^(1/2))]

- 74 -

Jednaina sadri vie ulaznih simbolikih promenljivih x, a, b, c ,


a reenje je simbolika promenljiva u funkciji ulaznih
parametara a, b, c .

7.3. REAVANJE SISTEMA JEDNAINA


Naredbe imaju oblik :

[r1,r2,...]=solve (jednaina 1, jednaina 2,....)


rezultat=solve(jednaina 1, jednaina 2,..., promenljiva1
promenljiva2,....,)
PRIMER 7:
Reiti sistem jednaina x + 5 y = 3 i 2 x y = 4 .
>> [x,y]=solve( 'x+5*y-3','2*x-y-4')
x=
23/11
y=
2/11

Napomena: Kako je sistem saglasan i ima jednoznano reenje,


mi ga vidimo na ekranu kao par simbolikih brojeva.
PRIMER 8:
Reiti sistem jednaina x + 5 yz = 3 i 2 x y = 4 .
>> [x,y]=solve( 'x+5*y*z-3','2*x-y-4')
x=
(20*z+3)/(1+10*z)
y=
2/(1+10*z)
- 75 -

Napomena: Kako je sistem saglasan, a ima beskonano mnogo


reenja, mi reenje vidimo na ekranu kao simboliku
promenljivu izraenu u funkciji promenljive z .
PRIMER 9:
Odrediti presek kruga x 2 + y 2 = 41 i prave y x 1 = 0 .
>> syms x y
> [x y]=solve('x^2+y^2-41','y-x-1')
x=
4
-5
y=
5
-4

7.4. CRTANJE GRAFIKA KRIVE


SIMBOLIKOG IZRAZA
Crtanje gragika simbolikog izraza se radi korienjem naredbe
ezplot.
Naredba ima oblik :

ezplot(S)
ezplot(S,[xmin,xmax,ymin,ymax])
S je simboliki izraz krive koja se crta. U prvoj naredbi
ezplot(S) grafik se crta u domenu ( 2 , 2 ) , a u drugoj sami
zadajemo domen nezavisne promenljive x i zavisno
promenljive y .

- 76 -

PRIMER 10:
Nacrtati grafik funkcije y = x 2 + 2 x + 1 .
>> syms x
>> y=x^2+2*x+1;
>> ezplot(y)
x 2+2 x+1

50

40

30

20

10

0
-6

-4

-2

0
x

VEBA:
5.Reiti jednainu x 2 2 x = 0 .
6.Reiti jednainu ax 2 + 5bx 2 = 0 .
7.Reiti sistem jednaina 2 x y 1 = 0 i x + 2 y + 4 = 0 .
8.Nacrtati funkciju y = e x + 1 .
9. Ispitati uzajamni poloaj kruga x 2 + y 2 = 1 i pravih
a) x + y 4 = 0 ,
b) x + y 1 = 0 ,
c) x + y 2 = 0 .
Zadatak uraditi raunski i grafiki.

- 77 -

- 78 -

8. VEBA - GRANINA VREDNOST I IZVOD


FUNKCIJE
8.1. GRANINA VREDNOST FUNKCIJE
Naredbom limit rauna se granina vrednost simboliki zadate
funkcije.
Naredba ima oblik

limit(f,a)
gde je f funkcija, x nezavisna promenljiva , a vrednost kojoj
tei nezavisno promenljiva x .

PRIMER 1:
Nai graninu vrednost funkcije lim
x 1

>> syms x
>> limit( (x.^2-1)/(x.^2+2*x-3),1)
ans =
1/2

- 79 -

x2 1
.
x + 2x 3
2

PRIMER 2:

x2 1
.
x x 2 + 2 x 3

Nai graninu vrednost funkcije lim

>> syms x
>> limit( (x.^2-1)/(x.^2+2*x-3),inf)
ans =
1

8.2. IZVOD FUNKCIJE


Naredbom diff dobija se izvod simboliki zadate funkcije.
Naredba ima oblik

diff(f)

prvi izvod funkcije,

diff(f,n)

n-ti izvod funkcije.

PRIMER 3:
Nai prvi izvod funkcije y = x 3 sin x .
>> y='x.^3*sin(x)';
>> diff(y)
ans =
3*x^2*sin(x)+x^3*cos(x)
>> pretty(ans)
2
3
3 x sin(x) + x cos(x)

- 80 -

PRIMER 4:
Nai drugi izvod zadate funkcije.
>> syms x
>> y=x.^3*sin(x);
>> diff(y,2)
ans =
6*x*sin(x)+6*x^2*cos(x)-x^3*sin(x)

8.3. PRIMENE IZVODA -ODEIVANJE


EKSTREMNIH VREDNOSTI
Ekstremne vrednosti odreujemo kao nule prvog izvoda
funkcije .

PRIMER 5 :
Odrediti ekstremne vrednosti funkcije
>> syms x
>> y=x/exp(x);
>> d=diff(y)
d=
1/exp(x)-x/exp(x)
>> pretty(d)
1
x
------ - -----exp(x) exp(x)
>> s=solve(d)
s=
1
>> y1=1/exp(1)
y1=
0.3679

- 81 -

y=

x
.
ex

PRIMER 6 :
Odrediti ekstremne vrednosti funkcije

y = e x ( 3x 2 x 2 ) .

>> y=exp(x)*(3*x-2*x.^2)
>> d=diff(y)
d=
exp(x)*(3*x-2*x^2)+exp(x)*(3-4*x)
>> s=solve(d)
s=
1
-3/2
>> y1=exp(1)*(3*1-2*1.^2)
y1 =
2.7183
>> y2=exp(-3/2)*(3*(-3/2)-2*(-3/2).^2)
y2 =
-2.0082

PRIMER 7 :
Nacrtati funkciju y =

x2
i tekstom opisati sliku.
x2

>> syms x
>> y=x.^2/(x-2);
>> limit(y,2)
ans =
NaN
>> limit(y,inf)
ans =
Inf
>> solve(y)
ans =
- 82 -

0
0
>> ezplot(y)
>> grid, hold on
>> gtext('nula(0,0)')
>> d=diff(y)
d=
2*x/(x-2)-x^2/(x-2)^2
>> s=solve(d)
s=
0
4
>> y1=0.^2/(0-2)
y1 =
0
>> y2=4.^2/(4-2)
y2 =
8
>> gtext('max(0,0)')
>> gtext('min(4,8)')
>> xlabel('x osa')
>> ylabel('y osa')
x 2/(x-2)
20

15

10
min(4,8)
y osa

5
max(0,0)
nula(0,0)

-5

-10

-15
-6

-4

-2

0
x osa

- 83 -

VEBA:

x
.
x 1
x
2.Izraunati lim 2
.
x 1 x 1
1.Izraunati lim
x

3.Nai prvi izvod funkcije y = xe x .


2.Nai deseti izvod funkcije y = x n e x .
3.Nacrtati i opisati sliku funkcije y = xe x .
x
4.Nacrtati i opisati sliku funkcije y = 2
.
x 1

- 84 -

9. VEBA - DESKRIPTIVNA STATISTIKA


U Statistics Toolbox-u Matlab 7, u glavi 2 - Descriptive
Statistics, postoji nekoliko poglavlja, od kojih e za dva biti
demonstrirani primeri korienja. To su :
Measures of Central Tendency (mere centralne tendencijelokacije)
Measures of Dispersion (mere disperzije-rasprenosti)
U tabelama 1 i 2 data su imena i opis funkcija koje su sadrane
u dva gore navedena poglavlja.

Tabela 1 Funkcije centralne tendencije - lokacije


Ime funkcije

Opis

Geomean

Geometrijska sredina

Harmmean

Harmonijska sredina

Mean

Aritmetika sredina

Median

Vrednost u sredini ureene serije po veliini

Trimmean

Trimovana srednja vrednost

Poziv funkcija je jednostavan, iza imena u zagradi dolazi ime


vektora koji sadri seriju podataka. Na primer, m=mean(x) .
Ako je x vektor, mean(x) je aritmetika sredina elemenata od x.
Ukoliko je x matrica, mean(x) daje vektor vrstu iji su elementi
srednje vrednosti elemenata kolona matrice x.

- 85 -

1.

PRIMER:

Nai mere centralne tendencije vektora x.


>>x = [ 1 5 2 4 7 3 9 6 ]
x=
1 5 2 4 7 3 9 6
centrten = [ geomean(x) harmmean(x) mean(x) median(x)
trimmean(x) ]
centrten =
3.8202 2.9586 4.6250 4.5000 4.5000

Tabela 2 Funkcije disperzije ( rasprenosti )


Ime funkcije

Opis

iqr

Interkvartilna razlika

mad

Srednje apsolutno odstupanje

range

Razmak ili interval varijacije

std

Standardna devijacija

var

Varijansa

Poziv funkcija je analogan kao za mere centralne tendencije.


Isto se odnosi i na vektor x koji sadri seriju podataka.

- 86 -

2.PRIMER:
Nai mere disperzije ( rasprenosti ) vektora x.
>>x = [ 1 5 2 4 7 3 9 6 ]
x=
1 5 2 4 7 3 9 6
stats = [ iqr(x) mad(x) range(x) std(x) var(x) ]
stats =
4.0000 2.1250 8.0000 2.6693 7.1250

- 87 -

- 88 -

10. VEBA - PRUGASTI I KRUNI


DIJAGRAMI
Prugasti dijagrami, histogrami i kruni dijagrami predstavljaju
popularne tehnike za prikazivanje podataka.
U tabeli 1 data su imena funkcija i opis, za crtanje gore
navedenih dijagrama.

Tabela 1 Funkcije za crtanje prugastih, krunih dijagrama i


histograma
Ime funkcije

Opis

bar(x)

Ako je x vektor, naredba daje vertikalni prugasti


dijagram.
Ako je x dvodimenziona matrica, naredba e
grupisati podatke po vrstama.

barh(x)

Naredba slina bar naredbi, samo to se crta


horizontalni prugasti dijagram.

bar3(x)

Naredba daje trodimenzioni vertikalni prugasti


dijagram.

pie(x)

Daje kruni dijagram ( krike). Svaki od


elemenata vektora x predstavljen je isekom
kruga.

pie3(x)

Daje trodimenzioni kruni dijagram. Svaki od


elemenata vektora x predstavljen je isekom
kruga.

- 89 -

2.

PRIMER:

Nacrtati prugaste i krune dijagrame za dati vektor x.


>> x = [ 1, 2, 5, 4, 8, 3 ]
x=
1 2 5 4 8 3
>> bar(x)
8
7
6
5
4
3
2
1
0

>> barh(x)

- 90 -

>> bar3(x)
8

0
1
2
3
4
5
6

>> pie(x)
4%
13%

9%

22%

35%

17%

- 91 -

l>> pie3(x)

13%
4%
9%

35%

22%
17%

- 92 -

11. ZADACI ZA VEBANJE


1. Reiti sistem jednaina matrinom metodom.
x+ y+ z =0
2x + 6 y + 5z = 2
6x + 5 y + 6z = 1

2. Reiti sistem primenom Kramerovog pravila


2 x 3 y + z = 1

x+ y+ z =6
3 x + y 2 z = 1

3. Koja je kriva u ravni predstavljena jednainom z = 2 + Im( z ) ,


gde je z = x + iy kopleksni broj.

4. Koja je kriva u ravni predstavljena jednainom Re ( z 2 ) = 1 , gde


je z = x + iy kopleksni broj

5. Odrediti skup taaka u kompleksnoj ravni za koje je


z i
Re
= 0 i grafiki predstaviti.
z 1
6. Grafifiki predstaviti krivu u kompleksnoj ravni koja je

odreena jednainom z z + i z z 2 = 0 .

- 93 -

7. Za razne vrednosti parametra a ispitati da li je sistem linearnih


jednaina
ax + y + z = 1
x + ay + z = 2
x + y + az = 3
odreen, neodreen ili protivrean

8. Koristei naredbu subplot nacrtati funkcije y = x n , n [1, 6] .


Svaka funkcija da bude druge boje i vrste linija.
9. Koristei naredbu subplot nacrtati funkcije y = n x , n [1, 4] .
Svaka funkcija da bude druge boje i vrste linija.
10. Formirati funkcijski fajl pod imenom ime kojim se odreuje
broj slova u nekom imenu, a zatim nacrtati funkciju f ( x ) = x n ,
gde je n broj odreenih slova.

11. Reiti sistem jednaina nekom od metoda. Zatim grafiki reiti


sistem , obeleiti sliku i uprediti tako dobijena reenja.
x+ y =2
x + 2y = 3.
12. Nacrtati
u
istom
koordinatnom
sistemu
funkcije
f ( x ) = ln x , f ( x ) = log 2 x , f ( x ) = log10 x i tekstom opisati
sliku. Svaka funkcija da bude druge boje i vrste linija.
13. Koristei funkciju subplot nacrtati funkcije, f ( x ) = log n x za
1
n = , 2, e,10 i tekstom opisati sliku. Svaka funkcija da bude
2
druge boje i vrste linija.

- 94 -

14. Nacrtati u istom koordinatnom sistemu funkcije y = x 2 , y = x3 na


intervalu 1 x 1 i tekstom opisati sliku. Svaka funkcija da bude
druge boje i vrste linija.
15. Nacrtati u istom koordinatnom sistemu funkcije y = x na intervalu
1 x 1 , y = xe x na intervalu 0 x 1 i y = sin x na intervalu

i tekstom opisati sliku. Svaka funkcija da bude druge


2
2
boje i vrste linija.

16. Napraviti funkcijski fajl kojim se za razne vrednosti parametra k


3k

17. izraunava vrednost determinante D =

11

1 k

2k

18. Napraviti funkcijski fajl pod imenom element za izraunavanje


elemenata matrice gde je a ( i, j ) = i j za i j , i < j ,

a ( i, j ) = a ( i, j ) za i > j a a ( i, j ) = i 2 za i = j , a zatim koristei


taj fajl napraviti novi pod imenom matrica, za definisanje matice
proizvoljnog reda m n .

19. Napraviti funkcijski fajl pod imenom element za izraunavanje


elemenata matrice gde je a ( i, j ) = i j za i j , a a ( i, j ) = 2i j + 2
za i = j ., a zatim koristei taj fajl napraviti novi pod imenom
matrica, za definisanje matice proizvoljnog reda m n .

20. Formirati funkcijski fajl pod imenom ime kojim svako unosi svoje
ime i prezime, prebrojava broj slova i ako je taj broj manji od 15
odreuje moduo kompleksnog broja z = 1 + 3i , ako je broj slova
izmeu 15 i 20 definie jedininu matricu 3x3, a ako je vei od 20
izraunava sumu kvadrata prvih 1000 prirodnih brojeva.

- 95 -

21. Formirati funkcijski fajl pod imenom godine kojim svako unosi
svoj datum i godinu roenja ime, prebrojava broj simbola i ako je
taj broj manji od 15 odreuje argument kompleksnog broja z = 1 + i ,
ako je broj slova izmeu 15 i 20 definie je nultu matricu 3x3, a ako
je vei od 20 izraunava sumu prvih 1000 prirodnih brojeva.
22. Formirati funkcijski fajl pod imenom mesto kojim svako unosi
svoje ime mesta roenja i optinu, prebrojava broj slova i ako je taj
broj manji od 15 odreuje konjugovano kompleksni broj, broja
z = 1 + 3i , ako je broj slova izmeu 15 i 30 definie maginu
matricu 3x3, a ako je vei od 20 crta funkciju y = ln x .
23. Formirati funkcijski fajl pod imenom mesto kojim svako unosi
svoje ime mesta roenja i optinu, prebrojava broj slova i ako je taj
broj manji od 15 izraunava moduo kompleksnog broja

z = 1 + 3i i , ako je broj slova izmeu 15 i 30 definie jedininu

1 2
matricu, matrice , A =
, a ako je vei od 20 crta funkciju
2 3
y = ex .

24. Ispitati i grafiki prikazati funkciju y = xe x . Tekstom opisati sliku.


25. Ispitati i grafiki prikazati funkciju y =

2x
. Tekstom opisati
x +1
2

sliku.

26. Ispitati i grafiki prikazati funkciju y =

x2 4
. Tekstom opisati
x2 + 4

sliku.

27. Ispitati i grafiki prikazati funkciju y =


sliku.

- 96 -

1 x2
. Tekstom opisati
x2

28. Ispitati i grafiki prikazati funkciju y =

2 x3
. Tekstom opisati
x2 + 1

sliku.

29. Ispitati i grafiki prikazati funkciju y = xe x . Tekstom opisati sliku.


30. Ispitati i grafiki prikazati funkciju y = x 2 e x . Tekstom opisati
sliku.
2

31. Ispitati i grafiki prikazati funkciju y = x ln x . Tekstom opisati


sliku.
32. Ispitati i grafiki prikazati funkciju y = x 2 ln x . Tekstom opisati
sliku.
33. Ispitati i grafiki prikazati funkciju y =
34. Odrediti
y=x

najveu

( 2 x 3) 12 ( 3x 2 )

ln x
. Tekstom opisati sliku.
x

najmanju

vrednost

na intervalu [ 3, 6] . Slika.

35. Odrediti najveu i najmanju vrednost funkcije y =


intervalu [ 5, 1] . Slika.

funkcije

x 3
+
3 x

na

36. Dokazati da sistem jednaina


x+ y+z =0

2x + 6 y + 5z = 2
6x + 5 y + 6z = 1
ima jedinstveno reenje, a zatim reiti sistem matrinom metodom.

- 97 -

37. Ispitati saglasnost sistema jednaina

2 x 3 y + z = 1
x+ y+z =6
3 x + y 2 z = 1
a zatim reiti sistem primenom Kramerovog pravila.

1 2 0
1 2

38. Reiti matrinu jednainu 1 1 1 X = 0 2 .


0 1 3
1 0
1 3 2
2 3 1

39. Date su matrice A = 1 2 1 , M = 1 1 1 . Reiti


0 0 1
0 0 1
2
1
jednainu X + A = AM .
40. Reiti jednainu AX + BC = D , gde je
2 0 1
2 0
11
5

A = 1 1 0 , B = 0 2 , C = , D = 6 .
3
3 1 2
0 1
9
41. Izraunati zbir kvadrata prvih 1000 prirodnih brojeva.

- 98 -

SPISAK KOMANDI I FUNKCIJA


Komande za upravljanje

help

pomo u radu sa Matlabom.

demo
clc
clear
who
whos
size
format
load
save
delete
home
quit
exit
pause

osnovni demonstracioni programi.


brie se sadraj komandnog prozora.
brie sve promenljive i funkcije iz memorije.
lista tekuih promenljivih.
lista tekuih promenljivih, dua forma .
veliina promenljive.
izlazni format.
uitavanje promenljivih sa diska.
snimanje promenljivih na disk.
brisanje fajlova.
skok na poetak ekrana.
zavretak rada.
zavretak rada.
pauza do pritiska na neki taster.

Znakovi, aritmetiki, relacijski i logiki operatori


+
*
.*
^
.^
/
\
(,)
[,]
.
...
,
;
%
=
==
<

plus.
minus.
mnoenje.
mnoenje element po element.
stepenovanje.
stepenovanje element po element.
deljenje udesno.
deljenje ulevo.
za pozivanje funkcija i redosled operacija.
definiu vektore i matrice.
decimalni zarez.
nastavlja red.
razmak izmeu elemenata i argumenata funkcije.

kraj reda ili iskljuuje prikazivanje rezultata.


komentar.
dodeljivanje vrednosti.
jednakost.
manje.
- 99 -

>
>=
<=
~=
&
|
~

vee.
vee ili jednako.
manje ili jednako.
nije jednako.
logiko i.
logiko ili.
logiko ne.

Unapred definisane promenljive


ans
pi
i,j
NaN
inf

rezultat.
= 3.14.....
kompleksna jedinica , 1 .
nije numerika vrednost.
beskonano.

Elementarne matematike funkcije


abs
sqrt
sin
cos
tan
cot
exp
log
log 10
conj
imag
real

apsolutna vrednost.
kvadratni koren.
sinus.
kosinus.
tangens.
kotangens.
eksponencijalna funkcija osnove e.
prirodni logaritam.
dekadni logaritam.
konjugovano kompleksni broj.
imaginrni deo kompleksnog broja.
realni deo kompleksnog broja.

- 100 -

Crtanje i formatiranje grafikona


plot
fplot
subplot
hist
hold on
hold off
axis
colormap
grid
gtext
text
title
xlabel
ylabel

crta se kriva funkcije.


crta se kriva funkcije.
crta se vie grafikona na istoj stranici.
formira se histogram.
dri se otvoren tekui grafik.
suprotno od hold on.
podeavanje osa.
podeavaju se boje na grafikonu.
dodaje se ili oduzima reetka na grafikonu.
dodaje se tekst na grafikon.
dodaje se tekst na grafikon.
grafikonu se dodaje naslov.
dodaje se natpis na osu x.
dodaje se natpis na osu y.

Komande za upravljanje tokom programa


break
else
elseif
end
for
if
while

prekidanje izvravanja petlje.


uslovno izvravanje komandi.
uslovno izvravanje komandi.
kraj uslovnog iskaza ili petlje.
ponavljanje izvravanja grupe komandi.
islovno izvravanje komandi.
ponavlja izvravanje grupe komandi.

- 101 -

Simbolika matematika
diff
double
ezplot
pretty
simple
solve
subs
sym
syms

diferenciranje.
pretvara broj simbolikog oblika u numeriki.
crtanje krive koja predstavlja izraz.
prikazuje se izraz u matematikom formatu.

uproavanje izraza.
reavanje jednaina ili sistema jednaina.
promenljive u zadatom izrazu zamenjuje
vrednostima.
formira se simboliki objekat.
formira se simboliki objekat.

- 102 -

You might also like