You are on page 1of 162

ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 2


Sadraj
PREDGOVOR ....................................................................................................................4
1. UVOD U MATLAB ........................................................................................................5
1.1.to je MATLAB? .........................................................................................................5
1.2. Aritmetika digitalnoga elektronikoga raunala............................................................5
1.2.1. Znanstveni oblik realnoga broja ................................................................................5
1.2.2 Zaokruivanje realnih brojeva i ''rezanje'' suvika decimala ...................................7
1.2.3. IEEE standard .......................................................................................................9
1.3. Kako pokrenuti MATLAB? ....................................................................................... 10
1.4. Zapis osnovnih matematikih i logikih operatora u MATLAB-u .............................. 10
1.5. Posebne varijable u MATLAB-u ................................................................................ 13
1.6. Osnovne matematike funkcije ugraene u MATLAB ............................................... 14
1.7. Zadaci za vjebu ........................................................................................................ 16
2. MATRICE U MATLAB-U ........................................................................................... 18
2.1. Zadavanje (generiranje) matrica u MATLAB-u .......................................................... 18
2.2.Aritmetike operacije s matricama .............................................................................. 19
2.3. Matrine funkcije ugraene u MATLAB .................................................................... 25
2.4. Uporaba znakova , ; i : u MATLAB-u ........................................................................ 31
2.5. Zadaci za vjebu ........................................................................................................ 35
3. GRAFIKA U MATLAB-U ........................................................................................... 38
3.1. Jednostavni linijski grafikoni ..................................................................................... 38
3.2. Crtanje grafova funkcija na segmentu ........................................................................ 41
3.3. Zadaci za vjebu ........................................................................................................ 50
4. OSNOVE PROGRAMIRANJA U MATLAB-U ......................................................... 51
4.1. Kako stvoriti jednu obinu m-datoteku ....................................................................... 51
4.2. Funkcijske mdatoteke .............................................................................................. 54
4.3. Uvjetne naredbe (naredbe kontrole tijeka) .................................................................. 56
4.3.1. Naredba for ......................................................................................................... 56
4.3.2. Naredba while ..................................................................................................... 59
4.3.3. Naredba ifelse .................................................................................................. 61
4.4. Zadaci za vjebu ........................................................................................................ 67
5. OSNOVE DESKRIPTIVNE STATISTIKE ................................................................ 71
5.1. Kvantitativna diskretna statistika obiljeja ................................................................ 71
5.2. Kvantitativna kontinuirana statistika obiljeja .......................................................... 86
5.3. Zadaci za vjebu ........................................................................................................ 92
6. PRILAGODBA TEORIJSKIH STATISTIKIH RAZDIOBA EMPIRIJSKIM
PODACIMA ....................................................................................................................... 95
6.1. Razdiobe diskretnih sluajnih varijabli ....................................................................... 95
6.1.1. Binomna razdioba .............................................................................................. 95
6.1.2. Poissonova razdioba ......................................................................................... 107
6.2. Razdiobe kontinuiranih sluajnih varijabli ............................................................... 114

ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 3


6.2.1. Normalna ili Gaussova razdioba ....................................................................... 114
6.3. Zadaci za vjebu ...................................................................................................... 119
7. NUMERIKA MATEMATIKA U MATLAB-U ...................................................... 123
7.1. Numeriko rjeavanje nelinearnih jednadbi s jednom nepoznanicom ...................... 123
7.2. Zadaci za vjebu ...................................................................................................... 141
7.3. Numerika interpolacija ........................................................................................... 143
7.4. Zadaci za vjebu ...................................................................................................... 154
7.5. Numerika integracija .............................................................................................. 156
7.6. Zadaci za vjebu ...................................................................................................... 163





















ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 5


1. UVOD U MATLAB


1.1.to je MATLAB?


MATLAB (naziv je skraenica engleskoga naziva MATrix LABoratory) istodobno je i
programski paket namijenjen numerikomu raunanju i modeliranju, ali i vii programski
jezik namijenjen raznim znanstvenim i tehnikim primjenama.


1.2. Aritmetika digitalnoga elektronikoga raunala


Jedan od glavnih problema koji se javlja prigodom zapisivanja realnih brojeva u raunalu jest
problem unosa ''velikih'' realnih brojeva ili realnih brojeva iji se decimalni zapis sastoji od
''velikoga'' broja (moda i beskonano mnogo) decimala. Naime, sklopovi naih raunala su
fiziki ogranieni i u njih brojevi s tako velikim brojem decimala jednostavno ne mogu ''stati''.
Stoga uvijek nastojimo to bolje iskoristiti raspoloivi prostor u raunalu kako bi u nj mogli
''stati'' i brojevi s veim brojem znamenaka.


1.2.1. Znanstveni oblik realnoga broja


Ovaj se oblik esto naziva i eksponencijalni, a u strunoj literaturi rabi se i naziv format
pomine toke (engl. floating point format). Osnova toga oblika jest sljedei:

Teorem 1. Svaki realan broj a R moe se zapisati u obliku:

n
z z z
m
y y y x a
...
2 1
2 1
10 ... .

=
pri emu vrijedi:

1.) x {1, 2, 3, , 9};
2.) m, n N;
2.) y
1
, , y
m
, z
1
, , z
n
{0, 1, 2, , 9}.

Vana napomena: Zapisi y
1
y
2
y
m
i z
1
z
2
z
n
nisu skraeni zapisi umnoaka y
1
y
2
y
m
,
odnosno z
1
z
2
z
n
, nego oznaavaju nizove znamenki.

ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 6


Takav se oblik naziva kao u naslovu ove podtoke: znanstveni oblik realnoga broja. On se
sastoji od dvaju dijelova. Broj x.y
1
y
2
y
m
naziva se mantisa, a broj z
1
z
2
z
n
eksponent.
Uoimo odmah da je mantisa uvijek realan broj ija je apsolutna vrijednost (modul) barem
jednak 1 (jer joj je prva znamenka barem jednaka 1), dok je eksponent uvijek cijeli broj.
Veliina zapisa mantise i eksponenta unutar raunala ovisi o realizaciji zapisa unutar raunala.

Iole bolji depni raunar posjeduje display na kojemu je (barem) est mjesta predvieno za
zapis znamenaka mantise, a (tono) dva mjesta predviena su za zapis znamenaka
eksponenta. Stoga se na takvom depnom raunaru moe zapisati i prikazati ukupno 180
milijuna brojeva iz segmenta [9.99999 10
99
, 9.99999 10
99
]. Pritom je najmanji prikazivi
pozitivan broj 1.00000 10
99
.

Sad se namee problem: kako bilo koji realan broj a zapisati u znanstvenomu obliku? Jedan
od moguih algoritama jest sljedei:

Korak 1. Utvrditi je li prva znamenka x broja a barem jednaka 1. Ako jest, ii na Korak 2.
Ako nije, ii na Korak 6.

Korak 2. Utvrditi je li iza prve znamenke decimalna toka. Ako jest, ii na Korak 3. Ako nije,
ii na Korak 4.

Korak 3. Mantisa realnoga broja a jednaka je samome broju, a eksponent je jednak 0. Kraj
postupka.

Korak 4. Postaviti poetnu vrijednost eksponenta na 0. Ii na Korak 5.

Korak 5. Prebrojati koliko se ukupno znamenaka nalazi ispred decimalne toke. (Oznaimo
taj broj sa b.) Tada je matrisa broj dobiven postavljanjem decimalne toke neposredno iza
prve znamenke, a eksponent je jednak b 1. Kraj postupka.

Korak 6. Prebrojati koliko se ukupno nula nalazi ispred prve znamenke broja a razliite od
nule. (Oznaimo taj broj sa b.) Tada je matrisa broj dobiven postavljanjem decimalne toke
neposredno iza prve znamenke razliite od nule, a eksponent je jednak (b). Kraj postupka.

Primjer 1. Zapiimo u znanstvenomu obliku realne brojeve 3.14159, 100 000 i 0.00025 pri
emu emo uzeti da mantisa ima ukupno tono 6 znamenaka (jednu ispred i pet iza decimalne
toke), te odredimo mantisu i eksponent za svaki od dobivenih zapisa. Gore navedeni
algoritam provodimo za svaki broj zasebno:


ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 7


3.14159 prva znamenka je jednaka 3, pa prelazimo na Korak 2. iza prve znamenke jest
decimalna toka pa prelazimo na Korak 3. mantisa je jednaka 3.14159, a eksponent 0
3.14159 = 3.14159 10
0
. Kraj postupka.

100 000 prva znamenka je jednaka 1, pa prelazimo na Korak 2. iza prve znamenke nije
decimalna toka pa prelazimo na Korak 4. ispred decimalne toke ima ukupno 6 znamenki
pa je b = 6. Mantisa je jednaka 1.00000, a eksponent 6 1 = 5. Stoga je
100 000 = 1.00000 10
5
. Kraj postupka.

0.00025 prva znamenka je 0, nije barem jednaka 1 pa prelazimo na Korak 6. prva
znamenka razliita od nule jednaka je 2, a ispred nje se nalaze ukupno 4 nule, te je b = 4.
Mantisa je jednaka 2.50000, a eksponent 4. Stoga je 0.00025 = 2.50000 10
4
.

Zbog obveze pisanja eksponenta u superscriptu, pri implementaciji u MATLAB-u nametnula
se potreba za modifikacijom znanstvenoga prikaza kako bi i eksponent bio ispisan ''obinim''
tekstom. U tu je svrhu uporabljena sljedea doskoica:

Pretpostavimo da je
n
z z z
m
y y y x a
...
2 1
2 1
10 ... .

= znanstveni oblik realnoga broja a. Tada je
MATLAB-ov znanstveni oblik toga broja

. ... ... .
2 1 2 1 n m
z z z e y y y x a =

Dakle, iza mantise ''dopiemo slovo'' e (nema nikakve veze s bazom prirodnoga logaritma
e = 2.7182818!), a eksponent ''spustimo'' iz superscripta u ''obini'' tekst. Pritom treba
napomenuti da zapis eksponenta po default-u sadri tono tri znamenke (ukoliko eksponent
ima samo dvije znamenke (n = 2), zapisuje se u obliku 0z
1
z
2
).

Primjer 2. MATLAB-ovi (znanstveni) oblici realnih brojeva iz Primjera 1. su redom:

3.14159e + 000,
-1.0000e + 005,
2.5000e 004.


1.2.2 Zaokruivanje realnih brojeva i ''rezanje'' suvika decimala


Beskonane periodine decimalne brojeve (kakvi su npr. decimalni zapisi razlomaka ,
3
1
,
6
5

itd.) ne moemo ''itave'' pohraniti u raunalo tbog fizike ogranienosti njegovih sklopova.

ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 8


Zbog toga se dio tih brojeva pohranjuje, a dio ''zanemaruje'', odnosno izostavlja. Uzmimo npr.
racionalan broj
12
11
= 0.916666. . Taj je broj beskonaan periodian decimalni broj i ne
moemo ga ''itavoga'' pohraniti u raunalo. Budui da MATLAB dozvoljava ukupno 6
znamenki u mantisi, moemo postupiti na dva naina:

1.) Prvih 5 znamenki mantise prepisati, a estu ili prepisati (ako je manja od 5) ili
uveati za 1 (ako je barem jednaka 5).

2.) Prepisati svih 6 znamenaka mantise zanemarujui sve ostale znamenke u
standardnomu prikazu.

Prvi nain nazivamo zaokruivanje (s tonou na 5 decimala), a drugi ''rezanje'' suvika
decimala. Namee se pitanje koji je od tih dvaju naina bolji. Ovo je jedan od osnovnih
problema numerike matematike. Ovdje emo njegovo rjeenje dati rabei promatrani primjer.

Oznaimo sa x broj dobiven zaokruivanjem broja
12
11
na 5 decimala, a sa y broj dobiven
''rezanjem'' suvika decimala broja
12
11
. Mantisa broja
12
11
jednaka je 9.166666666. Njezina je
6. znamenka upravo jednaka 6. Stoga je

x = 0.916667, y = 0.916666.

Izraunajmo sada apsolutne vrijednosti razlika
12
11
x i
12
11
y kako bismo vidjeli koliko
smo pogrijeili u prvom, a koliko u drugom sluaju:

|
12
11
x| = | 0.0000003333| = 3.33333 10
7
,

|
12
11
y| = |0.0000006666| = 6.66666 10
7
.

Prva je razlika manja od druge, to znai da smo u prvom sluaju napravili manju greku.
Stoga moemo zakljuiti da je zaokruivanje bolja metoda od ''rezanja'' suvika decimala.
Zbog toga se sva raunala i iole bolji raunari uvijek slue zaokruivanjem realnih brojeva.



ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 9


1.2.3. IEEE standard


Vjerojatno vam je jo iz srednje kole poznato da je osnova za prikazivanje svih realnih
brojeva u raunalu tzv. binarni sustav. Baza toga sustava jest prirodan broj 2, a znamenke
koje ga tvore su 0 i 1. Moe se pokazati da vrijedi sljedei analogon teorema 1. za binarne
sustave:

Teorem 2. Svaki realan broj a R moe se zapisati u obliku:

n
z z z
m
y y y x a
...
2 1
2 1
2 ... .

=
pri emu vrijedi:

1.) x = 1;
2.) m, n N;
2.) y
1
, , y
m
, z
1
, , z
n
{0, 1}.

Stoga sva razmatranja koja smo provodili u tokama 1.2.1. i 1.2.2. vrijede i za brojeve
zapisane u binarnomu sustavu. Budui da je ovaj sustav od iznimne vanosti u raunarstvu,
brojni znanstveni instituti predlagali su razne standarde za organizaciju podataka u
digitalnome raunalu. Jedan od ope prihvaenih je tzv. IEEE standard kojega je predloio
ugledni ameriki znanstveni institut Institute of Electrical and Electronic Engineers, a rabi se
na gotovo svim osobnim raunalima, u programskim paketima kao to su MATLAB,
Mathematica itd. Prema tome standardu, realni se brojevi najee zapisuju u jednom od
sljedea tri oblika (ili, kako to inenjeri raunarstva vole rei, formata):

1.) format jednostruke preciznosti (engl. single precision format);
2.) format dvostruke preciznosti (engl. double precision format);
3.) format etvrtostruke preciznosti (engl. quadriple precision format).

MATLAB koristi format dvostruke preciznosti. U njemu su za zapis realnoga broja
predviena tono 64 bita, i to:

1 bit za zapis predznaka mantise;
11 bitova za zapis predznaka eksponenta i samoga eksponenta;
52 bita za zapis mantise.

Budui da je prema Teoremu 2. prva znamenka mantise uvijek jednaka 1, radi utede
memorijskoga prostora ta se znamenka ne pohranjuje. Zbog toga se u formatu dvostruke
preciznosti mogu zapisati brojevi od reda veliine 10
307
do reda veliine 10
307
iju mantisu
tvori ukupno esnaest znamenaka.

ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 10


U ovakvom sustavu definiraju se brojevi Inf (skraenica od engl. infinity = beskonano), NaN
(skraenica od engl. Not a Number = ''nije broj'') i eps (''strojni epsilon'') s:

10
400
Inf
0
0
NaN
eps = 2
52
2.2204 10
16
.

Od tih triju brojeva mi emo najee rabiti konstantu eps. Ona je, zapravo, najmanji
pozitivan broj x takav da u aritmetici raunala vrijedi 1 + x > 1, a moe se interpretirati i kao
ocjena greke pri zaokruivanju u binarnoj floating point aritmetici dvostruke preciznosti. U
detalje ovdje neemo ulaziti.


1.3. Kako pokrenuti MATLAB?


Nakon ukljuivanja raunala i zaslona, te ''podizanja'' operativnoga sustava Windows,
uzmemo mi u lijevu ili desnu ruku (ovisno jesmo li ljevaci ili denjaci) i pomiemo ga po
podlozi sve dok njegov pokaziva ne bude postavljen na ikonu ispod koje pie MATLAB.
Potom lakim dvostrukim klikom lijeve tipke mia na spomenutu ikonu otvaramo eljeni
programski paket.

Ukoliko nekim velikim i nikad posve razjanjenim udom na svojemu zaslonu nemamo ikonu
ispod koje pie MATLAB, taj programski paket morat emo otvoriti na poneto tei nain.
Iznova uzmemo mi u lijevu ili desnu ruku i pomiemo ga po podlozi sve dok njegov
pokaziva ne bude postavljen na natpis Start. (Ukoliko ni taj natpis nemate na svojemu
zaslonu, hitno milozvuno upomo pozovite svojega deurnoga informatiara!) Potom lakim
jednostrukim klikom lijeve tipke mia otvaramo redom: Start Programs MATLAB
Release 12 MATLAB i na slavni programski paket e se napokon aktivirati.


1.4. Zapis osnovnih matematikih i logikih operatora u MATLAB-u


Radi preglednosti, te zapise navodimo u sljedeoj tablici.





ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 11


Naziv operatora Zapis
zbrajanje +
oduzimanje
mnoenje *
dijeljenje /
potenciranje ^
''je manje od'' <
'' je manje ili jednako'' <=
'' je vee od '' >
'' je vee ili jednako '' >=
'' je jednako '' ==
'' je razliito od '' ~=
''i'' &
''ili'' |
''ne'' ~

Nadalje, vano je istaknuti i sljedee: Jednostruki operator = u MATLAB-u se rabi prigodom
inicijaliziranja vrijednosti neke varijable, dok se dvostruki operator == rabi ukoliko se eli
provjeriti istinitost logike tvrdnje. To emo detaljnije obraditi u Primjeru 4.

Primjer 3. Izraunajmo vrijednost brojevnoga izraza

. 1 2 . 0
3
1
18
2
1
3
2
2003
1
2

(
(

+ |

\
|



U radnomu prostoru (engl. Workspace) iza znaka >> smjestio se trepui pokaziva. Rabei
tipkovnicu utipkavamo redom (bez razmaka!):

(((2/3-1/2)^2*18+1/3)^(-1)-0.2)^2003-1

Obratite pozornost na redoslijed izvedbe raunskih operacija (^ je ''najjaa'', potom slijede * i
/, a ''najslabije'' su + i ). Uoite i da vam tijekom utipkavanja brojeva i operatora MATLAB
daje do znanja koja otvorena i koja zatvorena zagrada tvore par, pa u svakomu trenutku
moete vidjeti jesu li sve zagrade zatvorene ili nisu. Takoer, negativne brojeve (zbog
predznaka) obvezatno piite unutar okruglih zagrada radi preglednosti izraza.

Nakon to smo utipkali gornji niz brojeva i operatora, njeno pritisnemo tono jednu od dviju
tipki Enter na svojoj tipkovnici. Pojavljuje se rezultat:


ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 12


ans =

8.895106873296754e-013

i to je traena vrijednost zadanoga brojevnoga izraza. Ukoliko bismo istu vrijednost eljeli
dobiti ''klasinim'' putem (pomou olovke i praznoga lista papira), utvrdili bismo da je ona
jednaka 0. to se dogodilo i zbog ega nam MATLAB nije ispisao vrijednost 0?

Do pogreke je dolo uslijed zaokruivanja. Naime, ve smo rekli da MATLAB ne zna
baratati s razlomcima pa ih pretvara u decimalne brojeve (rabei aritmetiku dvostruke
preciznosti) i rauna s njima. Pri toj pretvorbi (kako smo vidjeli) dolazi do greaka u ovome
sluaju reda veliine 10
16
. Provedete li i u MATLAB-u raunanje ''korak po korak'', vidjet
ete da se rezultati podudaraju s onima ''runo'' izraunatima sve do potenciranja s 2003. 2003
je relativno velika potencija pa ''malu'' greku pretvara u znatno veu. Drugim rijeima, naa
greka ne bi bila tako izraena da je umjesto 2003 upisana neka daleko manja potencija (npr.
2).

Zapamtimo sljedee vano

PRAVILO: Kada zavrimo unos naredbe u tekuemu redu radnoga prostora, za njezino
izvrenje i prelazak u novi red pritisnemo jednu od tipki Enter na svojoj tipkovnici.

Primjer 4. Utipkajmo u novomu retku radnoga prostora

x = 5

MATLAB e ispisati:

x =

5
Ovime smo istodobno i deklarirali varijablu x i definirali da je vrijednost te varijable jednaka
5. Utipkajmo sada u novomu retku radnoga prostora (opet bez razmaka):

x ==100

MATLAB e ispisati:

ans =

0


ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 13


to se dogodilo? U drugome smo sluaju zatraili od MATLAB-a da provjeri istinitost
jednakosti

x = 100.

Budui da smo neposredno ispred definirali da je vrijednost varijable x jednaka 5, jednakost
x = 100 oito nije tona, pa je njezina istinitost jednaka 0 (false) i zbog toga je MATLAB
ispisao 0 kao odgovor.


1.5. Posebne varijable u MATLAB-u


Pored ve spomenutih Inf, NaN i eps, u MATLAB-u postoje jo tri posebne, unaprijed
deklarirane varijable:

ans (skraenica od engl. answer = odgovor) automatski poprima vrijednost nekoga izraza
ukoliko izraz nije pridruen toj varijabli;
i imaginarna jedinica (za zaboravne: i := 1 );
pi Ludolfov broj (3.14159265358979).

Primjer 5. Utipkajmo u novomu retku radnoga prostora

pi

pa emo (nakon to pritisnemo Enter) dobiti:

ans =

3.14159265358979

Primjer 6. Utipkajmo u novomu retku radnoga prostora

i

ponovno pritisnimo tipku Enter i dobit emo:

ans =

0 + 1.00000000000000i


ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 14


Primjer 7. Utipkajmo u novomu retku radnoga prostora

e

i ponovno pritisnimo tipku Enter. Premda je e konstanta definirana u matematici kao baza
prirodnoga logaritma, na nae sveope zaprepatenje MATLAB ispisuje:

??? Undefined function or variable 'e'.

to znai: Nedefinirana funkcija ili varijabla 'e'. Zbog toga kad god neto elimo raunati s
brojem e, moramo najprije definirati njegovu vrijednost s:

e = 2.71828182818


1.6. Osnovne matematike funkcije ugraene u MATLAB


Radi lakega snalaenja i preglednosti, osnovne matematike funkcije ugraene u MATLAB
navodimo tablino zajedno s primjerom poziva funkcije.

Naziv funkcije Znaenje funkcije Poziv funkcije
sin sinus sin(argument)
cos kosinus cos(argument)
tan tangens tan(argument)
asin arkus sinus asin(argument)
acos arkus kosinus acos(argument)
atan arkus tangens atan(argument)
sinh hiperbolni sinus sinh(argument)
cosh hiperbolni kosinus cosh(argument)
tanh hiperbolni tangens tanh(argument)
asinh area sinus hiperbolni asinh(argument)
acosh area kosinus hiperbolni acosh(argument)
atanh area tangens hiperbolni atanh(argument)
sqrt kvadratni korijen sqrt(argument)
exp potencija broja e (e
x
) exp(argument)
log prirodni logaritam (ln x) log(argument)
log10 dekadski logaritam (log x) log10(argument)
abs apsolutna vrijednost (modul)
kompleksnoga broja
abs(argument)
real realni dio kompleksnoga broja real(argument)

ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 15


Naziv funkcije Znaenje funkcije Poziv funkcije
imag imaginarni dio kompleksnoga broja imag(argument)
conj kompleksno konjugiranje conj(argument)
round zaokruivanje broja na najblii cijeli broj round(argument)

Vane napomene:

1.) U MATLAB-u nema ugraene matematike funkcije kotangens, njezinoga inverza te
odgovarajuih hiperbolnih analogona. Za raunanje vrijednosti kotangensa morate koristiti
dobru staru formulu koja kotangens izraava pomou tangensa:

tg
1
ctg =

2.) Prigodom raunanja dekadskoga logaritma nemojte zaboraviti upisati broj 10 ispred
zagrade u kojoj ete navesti logaritmand.

3.) Za raunanje treega, etvrtoga, , n toga korijena iz realnoga broja ne postoji ''gotova''
matematika funkcija ugraena u MATLAB. Zbog toga se ti korijeni raunaju rabei
operaciju potenciranja pomou megapoznate formule:

n
n
a a
1
= .

3.) Nemojte zaboraviti da funkcija exp rauna iskljuivo potenciju broja e = 2.7181828, a
ne bilo koju opu potenciju.

Za kraj ove vjebe rijeit emo sljedei primjer.

Primjer 8. Izraunajmo vrijednost sljedeega brojevnoga izraza:

. 5 . 0
4
3

4
) Im( ) Re(
2
3
2
1
arctg ) 10 log( ) ln( 2 2187 arccos
4
2005
ctg *
4
2003
tg
2
2005
cos
2
2003
sin arcsin
2
1
2
2005 2004 4 3 7
+
(

+
+

+
(
(
(

|
|
|

\
|
+ |

\
|
+ |

\
|
+

i i i e

Rabei tablice iz toaka 1.4 i 1.6 utipkavamo sljedei niz brojeva i operatora (u jednom retku,
bez razmaka):


ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 16


((asin(sin(2003*pi/2)+cos(2005*pi/2)-tan(2003*pi/4)/tan(2005*pi/4))+acos(2187^(1/7)-
2*log(exp(3/4))-log10(sqrt(10)))-atan(abs(conj(1/2-sqrt(3)/2*i))-
real(i^2004)+imag(i^2005))*4/pi)^2+3)^(-1/2)+round(-pi/4)+0.5

Dobijemo:

ans =

2.264854970235319e-014.

Izraunamo li pravu vrijednost ovoga izraza, dobit emo da je ona jednaka 0. Greka (reda
veliine 10
14
) se pojavila zbog priblinih izrauna iracionalnih brojeva oblika

,
k
n

k
{2003, 2005}, n {2, 4}, no, praktino se ona moe zanemariti.


1.7. Zadaci za vjebu


1. Zapiite u znanstvenomu obliku sljedee realne brojeve:

a) 2004.2004; b) 0.002004; c) 2.002004; d) 0.20032004.

U svakomu od tih zapisa odredite mantisu i eksponent, te pripadni zapis u MATLAB-u.

2. Zapiite u standardnom obliku sljedee realne brojeve zapisane u MATLAB-ovu
znanstvenu obliku:

a) 2.004e + 001; b) 2.004e + 004; c) 2.004e 002; d) 2.004e 003.

U svakomu od navedenih zapisa odredite mantisu i eksponent!

3. Nacrtajte dijagram tijeka algoritma za pretvorbu standardnoga zapisa realnoga broja u
znanstveni. Implementirajte taj algoritam u nekome od poznatih programskih jezika.

4. Koristei elementarne matematike operacije ugraene u MATLAB izraunajte vrijednosti
sljedeih brojevnih izraza:

a)
3
2
tg 2 cos
4
3
sin + ; e)

1
ln
e ;

ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 17


b) ctg
3
7
; f) log(ln(0.5
-0.1234
);
c) arcsin0.2 arccos
4
1
+ arctg 2 ; g) |1 i| + Re(2
0.5
+ i
3
3 ) Im i
5
2 ;
d) sh1.25 + ch

Arth
5
1
Arsh
2
2
+ ; h)
3
1
5 3
Im
1
5 3
Re
2 1
2
|
|
|
|
|

\
|
|

\
|

+
|
|

\
|
+

+
+
i
i
i
i
i
i
.

5. Zaokruite sljedee realne brojeve na njima najblii cijeli broj:

a) 2
3
3 2 + ; b)
8

tg 2 1
3
+
; c)
i
5
3
5
1
)
5
1
ln(arcsin

.

6. Pomou MATLAB-a odredite vrijednosti sljedeih varijabli:

a) x = log(2); b) y = arcsin(2003); c) z = sqrt(1.5)?

Ima li smisla svaki od ispisanih rezultata? Objasnite zato!














ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 18


2. MATRICE U MATLAB-U


2.1. Zadavanje (generiranje) matrica u MATLAB-u


Matrice u MATLAB-u zadajemo prema sljedeoj sintaksi:

ime matrice = [elementi matrice].

Ime matrice obino je veliko tiskano slovo engleske abecede: A, B, C, D, . lanovi ili
elementi matrice su (obino) realni brojevi. Upisujemo ih po retcima tako da izmeu svaka
dva lana stoji po jedan razmak. Kraj retka naznaujemo oznakom ; iza koje bez razmaka
upisujemo prvi element sljedeega retka. Pokaimo to na primjeru.

Primjer 1. Zadajmo u MATLAB-u realnu matricu A tipa 5 4 definiranu s

4
2 3
1
3
1 3
1 0.25
2 2
cos(2) ln3
0 arcsin0.4
tg(5) log5
3
2 2 1
2
1
sin(6) ctg(21) -Arsh(2)
arctg(3)
1 1 2
Arth(log2) ln
Arch(1.5) 3- 3
A e
e
e

(

(
(
(
(

(
(
(
=
(
(
(

(
(
(
+ | |
(
|
\

.

U tekui redak radnoga prostora upisujemo:

A=[-1 1/2 sqrt(3)/2 -0.25;0 cos(2)/tan(5) -log(3)/log10(5)
asin(0.4);2^(1/3) -exp(-2) -sqrt(2) 1-3^(1/4)/2; -sin(6)
1/tan(21) 1/atan(3) -asinh(2);1/acosh(1.5) atanh(log10(2))
log((3-exp(1))/(1+exp(1))) sqrt(2)/3^(1/3)]

(Sve funkcije, operatore i znamenke treba upisati u istomu retku prema gore navedenim
pravilima.) Detaljno prouite i analizirajte kako je zadan svaki pojedini lan! Dobijemo:


ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 19


A =

-1.00000000000000 0.50000000000000 0.86602540378444 -0.25000000000000
0 0.12310160900874 -1.57175884780882 0.41151684606749
1.25992104989487 -0.13533528323661 -1.41421356237310 0.34196299352375
0.27941549819893 -0.65466511548606 0.80061117222304 -1.44363547517881
1.03904346061751 0.31065185251892 -2.58010978698585 0.98056091781096

Vano upozorenje: Matricu nije mogue zadati navodei lanove po stupcima!


2.2.Aritmetike operacije s matricama


Osnovne aritmetike operacije s matricama zapisuju se potpuno jednako kao i aritmetike
operacije s brojevima. No, u radu s matricama rabe se jo neke aritmetike operacije koje
pregledno prikazujemo u sljedeoj tablici.

Operacija Znak
''Desno dijeljenje'' matrica /
''Lijevo dijeljenje'' matrica \
Transponiranje matrice '
Mnoenje elemenata dviju
matrica lan po lan
.*
Potenciranje elemenata dviju
matrica lan po lan
.^
''Desno dijeljenje'' elemenata
dviju matrica lan po lan
./
''Lijevo dijeljenje'' elemenata
dviju matrica lan po lan
.\


Operacije ''desnoga'' i ''lijevoga dijeljenja'' rabe se prigodom rjeavanja matrinih jednadbi.
Prva se koristi za rjeavanje jednadbe oblika XA = B, a druga za jednadbe oblika AX = B.
Ilustrirajmo to primjerima.

Primjer 2. Rijeimo sustav XA = B ako je:

[ ] 6 5 ,
4 3
2 1
=
(

= B A .

''Obinim'' bismo raunom dobili:

ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 20


X = B A
1
.

No, u MATLAB-u moemo postupiti bre: Utipkamo

A=[1 2;3 4]

pritisnemo Enter, nakon ega utipkamo

B=[5 6]

i opet pritisnemo Enter. Time smo definirali matrice A i B. Rjeenje naega sustava dobivamo
''desnim dijeljenjem'' matrica B i A. Utipkamo:

X=B/A

i dobijemo:

X =

-1 2

Dakle, rjeenje naega sustava jest matrica

X = [-1 2].

Vano upozorenje: ''Desno dijeljenje'' matrica mogue je ako i samo ako matrice A i B imaju
jednak broj stupaca!

Primjer 3. Rijeimo sustav AX = B ako je

.
6
5
,
4 3
2 1
(

=
(

= B A

''Obinim'' bismo raunom dobili:

X = A
1
B.

No, u MATLAB-u moemo postupiti bre: Redefinirajmo matricu B u novomu retku radnoga
prostora utipkavajui

B=[5;6]

ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 21


nakon ega pritisnimo Enter. Rjeenje polaznoga sustava dobiva se ''lijevim dijeljenjem''
matrica A i B. Utipkajmo

X=A\B

i dobit emo:

X =

-4.00000000000000
4.50000000000000

Dakle, rjeenje polaznoga sustava jest

(
(

=
(

=
2
9
4
5 . 4
4
X .

Vano upozorenje: ''Lijevo dijeljenje'' matrica mogue je ako i samo ako matrice A i B imaju
jednak broj redaka!

Transponiranje matrica obavlja se bez ikakvih tekoa kako pokazuje sljedei primjer.

Primjer 4. Odredimo matricu X
T
za matricu X iz prethodnoga primjera. U novi redak radnoga
prostora utipkajmo

X'

pa dobivamo:

ans =

-4.00000000000000 4.50000000000000

Uoimo ovdje znaenje varijable ans. Matrici X' nismo dali ime, ve smo samo ''rekli''
MATLAB-u to elimo napraviti s matricom X. Budui da operacijom transponiranja
dobivamo jedan novi objekt, MATLAB mu je po default-u dodijelio ime ans.

Mnoenje i ''dijeljenje'' matrica lan po lan operacije su koje ne postoje u standardnomu
matrinomu raunu. U tomu se raunu lan po lan izvode iskljuivo operacije zbrajanja i

ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 22


oduzimanja. No, ove su operacije daleko jednostavnije od klasinih operacija mnoenja i
''dijeljenja'' matrica, a u to e nas uvjeriti i sljedea definicija.

Definicija 1. Neka su A = [a
ij
] i B = [b
ij
] matrice istoga tipa (m n). Definiramo matrice
C = [c
ij
], D = [d
ij
] i E = [e
ij
] s:

, :
; :
; :
ij
ij
ij
ij
ij
ij
ij ij ij
a
b
e
b
a
d
b a c
=
=
=


i to za sve i = 1, 2, , m; j = 1, 2, , n. Krae piemo:

C := A.*B
D := A./B
E := A.\B = B./A

Operaciju .* nazivamo mnoenje matrica lan po lan, operaciju ./ ''desno dijeljenje'' lan po
lan, a operaciju .\ ''lijevo dijeljenje'' lan po lan.

Uoimo da je desno dijeljenje matrica A i B istovjetno lijevom dijeljenju matrica B i A i
obrnuto. Pokaimo primjenu ovih operacija na primjeru.

Primjer 5. U novi redak radnoga prostora utipkajmo

A = [5 6]

pritisnimo Enter, pa utipkajmo

B = [10 12]

i ponovno pritisnimo Enter. U sljedeemu retku utipkajmo

C=A.*B,D=A./B,E=A.\B

pa e MATLAB ispisati:





ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 23


C =

50 72

D =

0.50000000000000 0.50000000000000


E =

2 2

Uoite kako su izraunati elementi svake pojedine matrice:

50 = 5 10 72 = 6 12

0.5 = 5 : 10 0.5 = 6 : 12

2 = 10 : 5 2 = 12 : 6.

Potenciranje matrica lan po lan poseban je sluaj mnoenja matrica lan po lan, a nastupa
kada vrijedi jednakost A = B.

Primjer 6. Za matricu A iz prethodnoga primjera odredimo A.^2. Utipkajmo:

F=A.^2

pa e MATLAB ispisati:

F =

25 36

Napomenimo i to da gore definirane operacije mnoenja i dijeljenja lan po lan imaju smisla
ukoliko bilo koju matricu zamijenimo nekim realnim brojem. Tada dobivamo ''klasino''
mnoenje (odnosno, ''dijeljenje'') matrice nekim skalarom.

Primjer 7. Za matricu B iz prethodnoga primjera odredimo matrice F :=7.*B, G := B./10 i
H := 10.\B. U novi redak radnoga prostora utipkajmo:

F=7.*B, G=B./10, H=10.\B

ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 24


pa e MATLAB ispisati:

F =

70 84


G =

1.00000000000000 1.20000000000000


H =

1.00000000000000 1.20000000000000

Uoimo odmah da se rezultati ''lijevoga'' i ''desnoga dijeljenja'' lan po lan u ovom sluaju
podudaraju jer su oba matrina ''dijeljenja'' lan po lan zamijenjena ''klasinim'' dijeljenjem.

Sve osnovne matematike funkcije navedene u toki 1.6. imaju smisla i ako je njihov
argument matrica bilo kojega tipa jer ''djeluju'' na svaki lan matrice zasebno. Evo primjera:

Primjer 8. Izraunajmo sin(A) za matricu A definiranu s

2003 2005 2009
2007
3 2 6
A
(
=
(

.

U novi redak radnoga prostora utipkajmo:

A=[2003*pi/3 -2005*pi/2 2007*pi -2009*pi/6]

pritisnimo Enter, pa potom u novi redak utipkajmo

sin(A)

MATLAB e ispisati:

ans =

-0.86602540378453 -1.00000000000000 0.00000000000015 -0.49999999999999

Prava vrijednost izraza sin(A) jest


ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 25


(

=
2
1
0 1
2
3
sin A .


2.3. Matrine funkcije ugraene u MATLAB


Pregledno ih navodimo u sljedeoj tablici.

Ime
funkcije
Sintaksa Argument(i) funkcije Namjena funkcije
zeros zeros(m, n) oba argumenta su prirodni brojevi Generira nulmatricu s m
redaka i n stupaca.
eye eye(n) prirodan broj Generira jedininu
matricu reda n.
diag diag(A) jednoretana ili jednostupana
matrica
Generira dijagonalnu
matricu iji su elementi
redom elementi matrice
A.
rank rank(A) bilo koja matrica Rauna rang matrice A.
size size(A, n) prvi argument je bilo koja matrica, a
drugi tono jedan element skupa {1,
2}
size(A,1) ispisuje broj
redaka, a size(A,2) broj
stupaca matrice A.
sum sum(A) bilo koja matrica Rauna zbroj lanova u
stupcima matrice A.
prod prod(A) bilo koja matrica Rauna umnoak
lanova u stupcima
matrice A.
det det(A) bilo koja kvadratna matrica Rauna determinantu
matrice A.
inv inv(A) bilo koja regularna matrica Odreuje matricu
inverznu matrici A.

Primjenu svake pojedine funkcije pokazat emo na primjerima matrica


ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 26


.
2 5
1 3
,
9 3 1
1 2 4
2 1 1
,
3
4
2
3
1
1
, 2 2 1
2
2
1
(

=
(
(
(

=
(
(
(
(
(

=
(

= D C B A

Zadajmo ih u MATLAB-u upisivanjem sljedeega niza znakova u novi redak radnoga
prostora:

A=[-1 sqrt(2)/2 1 2*sqrt(2)], B=[-1;1/3;2;-4/3], C=[1 -1 2;4
-2 1;1 -3 9], D=[3 1;5 -2]

Potom prijeimo na sljedei primjer.

Primjer 9. Generirajmo nulmatricu tipa 4 5 i jedininu matricu reda 6. Oznaimo te dvije
matrice redom s E i F. U novi redak radnoga prostora upiimo:

E=zeros(4,5), F=eye(6)

MATLAB e ispisati:

E =

0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0


F =

1 0 0 0 0 0
0 1 0 0 0 0
0 0 1 0 0 0
0 0 0 1 0 0
0 0 0 0 1 0
0 0 0 0 0 1

Primjer 10. Generirajmo dijagonalne matrice G i H iji su elementi redom elementi matrice
A, odnosno matrice B. U novi redak radnoga prostora upiimo:


ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 27


G=diag(A),H=diag(B)

i MATLAB e ispisati:

G =

-1.00000000000000 0 0 0
0 0.70710678118655 0 0
0 0 1.00000000000000 0
0 0 0 2.82842712474619


H =

-1.00000000000000 0 0 0
0 0.33333333333333 0 0
0 0 2.00000000000000 0
0 0 0 -1.33333333333333

Primjer 11. Odredimo rangove matrica A, B, C i D. (Podsjetimo, kaemo da neka matrica A
ima rang jednak r ako maksimalni linearno nezavisni podskup skupa njezinih redaka (ili
stupaca) ima ukupno r elemenata.) Oznaimo traene rangove redom s a, b, c i d. U novi
redak radnoga prostora upiimo:

a=rank(A), b=rank(B), c=rank(C), d=rank(D)

pa e MATLAB ispisati:

a =

1

b =

1


c =

2


d =

2

ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 28


Koje smo od dobivenih rezultata mogli unaprijed oekivati?

Primjer 12. Oznaimo sa e broj redaka matrice C, a sa f broj stupaca matrice D. (Oito je
e = 3 i f = 2.) Generirajmo te veliine u MATLAB-u. U novi redak radnoga prostora upiimo:

e=size(C,1), f=size(D,2)

i dobit emo oekivane rezultate:

e =

3


f =

2

Funkcija size nam u prvi trenutak moe izgledati posve beskorisno, no pravu njezinu korist
vidjet emo u 4. poglavlju kada se budemo susreli s tzv. funkcijskim m-datotekama.

Primjer 13. Odredimo zbroj i umnoak elemenata u svakomu pojedinomu stupcu matrice C.
Oznaimo zbroj sa z, a umnoak sa u. U novi redak radnoga prostora upiimo:

z=sum(C),u=prod(C)

MATLAB e ispisati:

z =

6 -6 12


u =

4 -6 18


Tako je, npr., zbroj svih elemenata prvoga stupca matrice C jednak 6, a umnoak svih
elemenata drugoga stupca te matrice jednak 6.

Pogledajmo sada kako ''rade'' te dvije funkcije kad su im argumenti jednoretane ili
jednostupane matrice. U tu emo svrhu odrediti njihove pripadne vrijednosti za matrice A i

ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 29


B. Pritisnimo tipku pa e se u tekuemu retku radnoga prostora pojaviti posljednje upisana
naredba:

z=sum(C),u=prod(C)

Pomicanjem pokazivaa i zamjenom slova C slovom A preuredimo tu naredbu u:

z=sum(A),u=prod(A)

Dobit emo:

z =

3.53553390593274


u =

-2.00000000000000

Sada je vrijednost varijable z jednaka zbroju svih elemenata matrice A, a vrijednost
varijable u jednaka je njihovu umnoku.

Ponovno pritisnimo tipku i preuredimo posljednje upisanu naredbu ovako:

z=sum(B),u=prod(B)

Dobit emo:

z =

0

u =

0.88888888888889

Sada je vrijednost varijable z jednaka zbroju svih elemenata matrice B, a vrijednost varijable u
jednaka je njihovu umnoku.

Moemo zakljuiti: Ako je A jednoretana ili jednostrupana matrica, onda su vrijednosti
funkcija sum(A) i prod(A) zbroj, odnosno umnoak svih elemenata matrice A.

ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 30


Primjer 14. Jedan od standardnih zadataka o matricama obino glasi: Ispitajte ima li
matrica inverznu matricu i, ako ima, odredite je. Taj smo zadatak rjeavali tako to smo
najprije raunali determinantu zadane matrice, pa ako je ona bila razliita od nule, zakljuili
smo da zadana matrica ima inverznu matricu i nju smo potom odreivali poznatim, ali dosta
tekim postupkom. Ono to smo tada radili 15-tak minuta MATLAB e sada napraviti za
priblino 0.00015 sekundi.

Dakle, ispitajmo imaju li matrice C i D svoje inverzne matrice i, ako imaju, odredimo ih.
Rabit emo funkcije det i inv. Za matricu C oznaimo c := det(C) i K := C
1
. U novomu retku
radnoga prostora izraunajmo vrijednosti tih veliina. Utipkajmo:

c=det(C),K=inv(C)

Dobit emo sljedei ispis:

c =

0

Warning: Matrix is singular to working precision.

K =

Inf Inf Inf
Inf Inf Inf
Inf Inf Inf

Pogledajmo to se dogodilo. Ponajprije, vrijednost varijable c jednaka je 0. Budui da ta
varijabla predstavlja vrijednost determinante matrice C, to znai da je determinanta matrice C
jednaka 0. Stoga je matrica C singularna, a ne regularna matrica i nema inverznu matricu. To
isto je ustanovio i MATLAB te nam ispisao poruku koja (u slobodnomu prijevodu s
engleskoga jezika na hrvatski jezik) glasi:

Upozorenje: S obzirom na postavljenu preciznost matrica je
singularna.

Ovime MATLAB dozvoljava mogunost da je determinanta matrice ipak razliita od nule
(npr. reda veliine 10
-500
), ali napominje da s obzirom na format dvostruke preciznosti on to
ne moe utvrditi. Kako bi varijabli K ipak bila dodijeljena odreena vrijednost, uporabljena je
unaprijed deklarirana varijabla Inf koju smo ve imali prigodu upoznati (vidjeti toku 1.2.).

Isti postupak sada provedimo za matricu D. Oznaimo najprije d := det(D) i L := D
1
.
Pritisnimo tipku i preuredimo posljednje upisanu naredbu ovako:

ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 31


d=det(D),L=inv(D)

Dobit emo:

d =

-1

L =

2.00000000000000 -1.00000000000000
5.00000000000000 -3.00000000000000

Determinanta matrice D jednaka je 1, to znai da je matrica regularna, odnosno da postoji
njoj inverzna matrica. Nije teko ''runo'' provjeriti da je uistinu

(

3 5
1 2
1
D .


2.4. Uporaba znakova , ; i : u MATLAB-u


U ovoj emo toki dati kratak pregled uporabe znakova zareza (,), toke-zareza (;) i dvotoke
u MATLAB-u, i to u onoj mjeri u kojoj e nam trebati u sljedeim poglavljima.

Jednu od moguih uporabi zareza ve smo vidjeli. Njime smo odvajali lanove niza naredbi
zapisanoga u jednomu retku. To je osobito praktino ukoliko su naredbe ''kratke'' (kao u svim
naim dosadanjim primjerima). U sluaju ''duljega'' niza naredbi, radi preglednosti, ipak se
preporua svaku od njih zapisati u poseban redak radnoga prostora. No, zarez se obino rabi u
kombinacijama sa znakom toke-zareza radi reguliranja ispisa rezultata naredbi. Pogledajmo
to na primjeru.

Primjer 1. U novi redak radnoga prostora utipkajmo:

a=5;b=7;

Posljednja dva retka u naemu radnomu prostoru sada izgledaju ovako :

>> a=5;b=7;
>> _

ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 32



U prvi mah mislimo da je MATLAB ''zatajio'' jer nita nije ispisao. A nita nije ispisao jer
smo mu stavljajui znakove ; rekli da ne elimo ispis niti vrijednosti varijable a niti
vrijednosti varijable b. On je ''posluno'' tim varijablama dodijelio vrijednosti koje smo mu
zadali, pa ''eka'' nae daljnje naputke to da radi s njima.

Utipkajmo sad (u retku gdje se nalazi trepui pokaziva):

>> a=5,b=7;c=6,d=8;

MATLAB e ispisati:

a =

5

c =

6

Protumaimo to se ovdje dogodilo. Stavljajui znak zareza ''rekli'' smo MATLAB-u: ''Unos
naredbe je zavren. elimo njezino izvrenje i ispis rezultata.'' Stavljajui znak toke-zareza
''rekli'' smo MATLAB-u: ''Unos naredbe je zavren. elimo njezino izvrenje, ali ne i ispis
rezultata.'' Nakon to smo pritisnuli Enter, MATLAB je ''proitao'' posljednje upisani redak na
sljedei nain: ''Varijabli a trebam dodijeliti vrijednost 5 i ispisati rezultat. Varijabli b trebam
dodijeliti vrijednost 7 bez ispisa rezultata. Varijabli c trebam dodijeliti vrijednost 6 i ispisati
rezultat. Varijabli d trebam dodijeliti vrijednost 8 bez ispisa rezultata.'' Zbog toga se kao
rezultat ovoga niza naredbi pojavio ispis vrijednosti varijabli a i c.

Ovome smo ovdje posvetili posebnu pozornost jer je esta poetnika greka u MATLAB-u
izostavljanje toke-zareza u pisanju m-datoteka (koje emo upoznati u 4. poglavlju) zbog
kojega se javlja ''glomazan'' ispis posve nepotrebnih podataka. Vano je zapamtiti da svaki
ispis rezultata neke naredbe moemo sprijeiti stavljajui toku-zarez na kraj te naredbe.

Jo jedan koristan znak je i dvotoka. Ona je posebno korisna pri generiranju razliitih
matrica. Tako naredba

ime_varijable = matrica(n,:)

gdje su matrica unaprijed zadana realna matrica i n N prirodan broj, pohranjuje n ti redak
matrice matrica u varijablu ime_varijable. Analogno, naredba

ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 33


ime_varijable = matrica(:, n)

gdje su matrica unaprijed zadana realna matrica i n N prirodan broj, pohranjuje n ti
stupac matrice matrica u varijablu ime_varijable. Pogledajmo to na primjeru.

Primjer 2. Zadajmo sljedeu matricu

(
(
(
(
(
(
(
(
(
(
(
(
(

\
|
|

\
| +

i
i
i
i
i
e
A
2
1
2
3
2
1
Im
1
Re
3
1
arcsin ctg2
12

sin
3 ln 5 log
0 2 1
2


u MATLAB-u, te u varijable TRECIREDAK i DRUGISTUPAC pohranimo, redom, trei redak
i drugi stupac te matrice s odgovarajuim ispisom rezultata. U novi redak radnoga prostora
najprije utipkajmo:

A=[-1 2 0;log10(5) exp(-2) log(3);sin(pi/12) 1/tan(2)
asin(1/3);real((1+i)/i) imag((1-i)/(2*i)) abs(conj(-sqrt(3)/2-
1/2*i))]

pa dobijemo:

A =

-1.00000000000000 2.00000000000000 0
0.69897000433602 0.13533528323661 1.09861228866811
0.25881904510252 -0.45765755436029 0.33983690945412
1.00000000000000 -0.50000000000000 1.00000000000000

Preostaje upisati:

TRECIREDAK=A(3,:),DRUGISTUPAC=A(:,2)


ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 34


Dobivamo:

TRECIREDAK =

0.25881904510252 -0.45765755436029 0.33983690945412


DRUGISTUPAC =

2.00000000000000
0.13533528323661
-0.45765755436029
-0.50000000000000

Ukoliko imamo jednoretanu matricu iji elementi tvore aritmetiki niz (vrlo est sluaj kod
petlji!), moemo je generirati rabei naredbu ija je sintaksa:

ime_matrice=prvi_lan_niza:razlika_niza:posljednji_lan_niza

gdje su nazivi varijabli sugestivno odabrani kako bi se znalo o emu je rije. Takav nain
generiranja matrice naziva se generiranje prema razmaku meu (susjednim) elementima.
Ukoliko je razlika niza jednaka 1, ona se ne mora pisati. Pokaimo to na primjeru.

Primjer 3. Generirajmo matricu

2 3 4
0
5 5 5 5
A
(
=
(

.

Uoimo da lanovi te matrice tvore aritmetiki niz iji je prvi lan 0, posljednji , a razlika
5

. Matrica je jednoretana pa moemo primijeniti gornju naredbu. U novi redak radnoga


prostora utipkat emo:

A=0:pi/5:pi

pa dobivamo:






ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 35


A =

Columns 1 through 4

0 0.62831853071796 1.25663706143592 1.88495559215388

Columns 5 through 6

2.51327412287183 3.14159265358979

Ovakav se nain ispisa u MATLAB-u pojavljuje kad zatraimo da MATLAB sm generira
neku matricu s vie od 4 stupca. Budui da sve elemente svih stupaca jednoga retka ne moe
ispisati u istomu retku (zbog ogranienosti radnoga prostora), MATLAB ispisuje elemente po
stupcima svrstavajui stupce u grupe po 4.

Napomena: Primjer 3. mogue je rijeiti i uporabom naredbe linspace ija je sintaksa

ime_matrice=linspace(prvi_lan_niza,:posljednji_lan_niza,ukupan_broj_lanova_niza)

Ve smo utvrdili koji je prvi, a koji posljednji lan niza, pa nam jo samo treba podatak o
tome koliko ukupno lanova ima niz. U ovome je sluaju taj broj jednak 6. Zbog toga
utipkamo:

A=linspace(0,pi,6)

i dobivamo isti rezultat kao i u Primjeru 3. Ovakav nain generiranja matrice naziva se
generiranje prema broju elemenata.


2.5. Zadaci za vjebu


1. Generirajte sljedee matrice u MATLAB-u:

a) [ ] 3 2 1 = A ; b) B =
(
(
(

3
2
1
; c) C =
(

4 3
2 1
;
d) D =
(
(
(


9 8 7
6 5 4
3 2 1
; e) E =
(
(
(
(
(
(

2 ln 3 2
3
1
9 . 1
2
3
4 5 . 0 log 7
2
3
1
5 . 0 2 . 1
3
23 . 1 3
.

ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 36


2. a) Za matrice A, B, C, D i E iz prethodnoga zadatka odredite postoje li umnoci AB, BA,
AC, CA, AD, DA, AE, EA, BC, CB, BD, DB, BE, EB, CD, DC, CE, EC, DE i ED i izraunajte
sve umnoke koji postoje!

b) Odredite rangove svih (postojeih) umnoaka iz a) zadatka. Interpretirajte dobivene
rezultate. Ima li meu dobivenim matricama regularnih matrica? Obrazloite svoje odgovore.

3. Izraunajte umnoak svake od matrica iz 1. zadatka s njoj transponiranom matricom, pa
odredite rangove svih tako dobivenih matrica. Jesu li koje od njih regularne? Obrazloite svoj
odgovor.

4. a) Za svaku od matrica iz 1. zadatka odredite ima li determinantu i, ako ima, izraunajte je!

b) Za svaku od matrica iz 1. zadatka odredite ima li inverznu matricu i, ako ima, izraunajte
je!

5. Za matricu A iz 1.a) zadatka odredite matricu:

X = sqrt(A + 1).

Za svaki lan matrice X napiite formulu po kojoj je izraunat!

6. a) Za matricu B iz 1.b) zadatka odredite matricu

Y = ln
2
3 + B
.

Za svaki lan matrice Y napiite formulu po kojoj je izraunat!

b) Oznaimo sa r apsolutnu vrijednost (modul) razlike umnoka i zbroja svih elemenata
matrice Y iz a) zadatka. Napiite izraz za raunanje vrijednosti varijable r. Provjerite valjanost
svojega rjeenja rabei MATLAB.

7. Neka su D i E matrice iz zadataka 1.d) i 1.e). Oznaimo sa G i H jednoretane matrice koje
tvore redom drugi redak matrice D, odnosno trei stupac matrice E. Bez upisivanja lanova
matrica G i H izraunajte (det D
T
) G (E E
T
) (2H)
T
.

8. Oznaimo sa X matricu tipa 1 6 iji su lanovi prvih 6 viekratnika broja 6. Generirajte
matricu X prema:

a) broju elemenata; b) razmaku meu susjednim elementima.

ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 37


9. Rijeite sljedee sustave jednadbi:

a)
; 13 3 2
12 2 3
= +
= +
y x
y x
b)
; 14 5 3 5
5 3 2
4
= + +
= + +
= + +
z y x
z y x
z y x
c)
; 2 3 4 5
2 5 6 7
1 2 3
= + +
= + +
= + +
z y x
z y x
z y x


d)
; 2 2 5 2
9 7 3
11 3 2 5
= + +
= +
= +
z y x
z y x
z y x
e)
3 3 5 2 3
8 5 8 9 4
11 5 7 4 3
4 3 4 5 2
= + +
= + +
= + +
= + +
w z y x
w z y x
w z y x
w z y x
.

Koristei Gaussovu metodu rijeite te sustave bez uporabe MATLAB-a i usporedite dobivena
rjeenja.

10. Bez uporabe MATLAB-a odredite to e se ispisati utipkavanjem sljedeih naredbi:

a) a=3/2;b=4/5 c) a=5/6;c=a+1/6,b=a-1/3

b) a=3+5,b=4-5; d) a=sqrt(9/4);b=log(a-1/2);c=log10(b+9);

Provjerite svoje odgovore rabei MATLAB.

11. Bez uporabe MATLAB-a odredite vrijednosti varijabli a i b nakon izvrenja sljedeega
niza naredbi:

a=3/2;b=1/4;a=a+b,b=b-a











ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 38


3. GRAFIKA U MATLAB-U


MATLAB nam omoguuje crtanje razliitih vrsta grafikona (linijskih, retanih, stupanih itd.)
U ovoj emo vjebi upoznati ''klasine'', odnosno linijske grafikone, dok emo retane i
stupane upoznati u 5. poglavlju prigodom obraivanja grafikih prikaza statistikih veliina.


3.1. Jednostavni linijski grafikoni


Za crtanje jednostavnih linijskih grafikona u MATLAB-u se rabi naredba plot ija je jedna od
sintaksi

plot(matrica)

gdje je matrica bilo koja realna matrica. Ideja ''crtanja'' takve matrice je sljedea:
Pretpostavimo da je A = [a
ij
] realna matrica tipa m n koju elimo ''nacrtati''.

Korak 1. Svakom elementu a
ij
pridrui se ureeni par (i, a
ij
). Tako se dobije ukupno m n
toaka.

Korak 2. Toke dobivene u Koraku 1. ucrtaju se u pravokutni koordinatni sustav u ravnini.

Korak 3. Stavi se j := 1. Nacrta se ukupno m spojnica toaka (i, a
ij
) i (i + 1, a
i + 1,j
)),
i = 1, 2, , m. Nakon povlaenja zadnje (m - te) spojnice stavi se j := j + 1.

Korak 4. Ako je j n, ponovi se Korak 3. (za novi j). Ako je j > n, postupak je gotov.

Na osnovi ovoga algoritma pokree se i izvrava naredba plot. Pogledajmo njezinu primjenu
na primjerima.

Primjer 1. ''Nacrtajmo'' matricu

A = [-1 2 0 1].

Najprije u novomu retku radnoga prostora generiramo matricu A utipkavanjem:

A=[-1 2 0 1]

Pritisnemo Enter, pa u novomu retku radnoga prostora utipkamo:

ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 39


plot(A)

Dobivamo sljedei grafikon otvoren u novomu prozoru:
1 1.5 2 2.5 3 3.5 4
-1
-0.5
0
0.5
1
1.5
2

Uoimo kako je dobivena ova izlomljena crta! Najprije su ucrtane toke (1,1), (2,2), (3,0) i
(4,1), pa su crtom spojene toke (1,1) i (2,2), (2,2) i (3,0), te (3,0) i (4,1). Novootvoreni
prozor zatvaramo tako da najprije pomicanjem mia po podlozi premjestimo pokaziva u
gornji desni kut na ikonicu s oznakom , a potom jednim klikom lijeve tipke mia na tu
ikonicu zatvorimo prozor i vratimo se u ''stari'' radni prostor. (Za one koji ne podnose mieve,
a oboavaju tipkovnicu, preporuamo istodobno pritiskanje tipki Ctrl i W.)

Ukoliko ne elimo crtom spojiti susjedne toke, to moramo ''rei'' MATLAB-u. Utipkajmo u
novi redak radnoga prostora

plot(A,'*')

pa emo u novootvorenom prozoru dobiti sljedeu sliku:


ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 40


1 1.5 2 2.5 3 3.5 4
-1
-0.5
0
0.5
1
1.5
2


Primjer 2. ''Nacrtajmo'' u MATLAB-u sljedeu matricu:

B =
(
(
(


9 8 7
6 5 4
3 2 1


i spojimo susjedne toke izlomljenom crtom. Zadanu matricu najprije generiramo u
MATLAB-u utipkavanjem:

B=[-1 2 -3;4 -5 6;-7 8 -9]

pritisnemo Enter i u novomu retku radnoga prostora utipkamo jednostavno:

plot(B)


ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 41


Dobijemo sljedei skup linijskih grafikona:

1 1.2 1.4 1.6 1.8 2 2.2 2.4 2.6 2.8 3
-10
-8
-6
-4
-2
0
2
4
6
8


Objasnimo kako je dobivena npr. crvena izlomljena crta. Ona je nastala spajanjem toaka
(1,3) i (2, 6), te (2, 6) i (3, 9). Te su toke dobivene pomou elemenata 3. stupca matrice B.
Npr.: element 3 stoji na presjeku toga stupca i 1. retka, to znai da je i = 1 (varijabla i
oznaava redak u kojemu se nalazi element a
ij
), pa se (u Koraku 1. algoritma naredbe plot)
dobije toka (1, 3). Potpuno analogno se dobiju i ostale dvije toke promatrane crte.


3.2. Crtanje grafova funkcija na segmentu


''Prava'' korist funkcije plot nije u grafikom prikazivanju matrica, nego u crtanju grafova
funkcija. Odmah se mora napomenuti neto to se vrlo esto previdi ili zaboravi:


ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 42


VANO!!! U MATLAB-u SE GRAFIKI PRIKAZUJU ISKLJUIVO FUNKCIJE
DEFINIRANE NA SEGMENTIMA!!!

To se posebno odnosi na realne funkcije realne varijable kojima je podruje definicije cijeli
skup R. Nije mogue nacrtati graf takve funkcije na cijelom skupu R jer taj skup nema niti
najmanji niti najvei element. Uostalom, kada ''runo'' crtate grafove funkcija u svojim
biljenicama, nesvjesno se opredijelite za odreeni dio ravnine (u pravilu onaj koji sadri
ishodite) pa crtate traeni graf uzimajui x-eve iz toga podruja ravnine. Isto to radi i
MATLAB, samo mu moramo ''rei'' koje podruje ravnine elimo uzeti.

U crtanju funkcija glavnu ''ulogu'' imaju matrice. I kada ''runo'' crtamo grafove, mi najprije
odredimo parove toaka (kroz koje prolazi traeni graf) i zapiemo ih tablino. Da MATLAB-
u ne bismo morali neprekidno ''govoriti'' to treba uzeti za x kako bi izraunao f(x), koristimo
jednoretane matrice iji elementi tvore aritmetiki niz. (Generiranje takvih matrica nauili
smo u prethodnom poglavlju (vidjeti toku 2.4.).) Prvi lan toga niza je donja granica
segmenta, a posljednji gornja granica segmenta. Kako bi slika bila to bolja, za razliku niza
pogodno je uzeti ''mali'' decimalan broj (npr. 0.01, 0.005 i sl.). Ta razlika se u ovome sluaju
naziva ekvidistanca susjednih vorova grafa. Mi emo ''po default-u'' uzimati da je razlika
jednaka 0.01 (ukoliko ne kaemo drukije).

Crtanje grafa funkcije na segmentu radi se algoritamski u tri koraka:

Korak 1. Rabei generiranje prema razmaku meu susjednim elementima generira se matrica
iji je prvi lan donja granica segmenta, razlika (''po default-u'') jednaka 0.01, a posljednji
lan gornja granica segmenta.

Korak 2. Generira se matrica vrijednosti zadane funkcije u svakome elementu matrice
dobivene u Koraku 1.

Korak 3. Svakom elementu dobivenomu u Koraku 1. pridrui se vrijednost funkcije dobivena
u Koraku 2., te se dobiveni ureeni par ucrta u pravokutni koordinatni sustav u ravnini.

Pokaimo primjenu ovoga algoritma na primjerima.

Primjer 1. Nacrtajmo graf funkcije

1
2
) (
2
+
=
x
x
x f

na segmentu [-6, 6]. Slijedimo korake gore opisanoga algoritma. Prvi je korak generiranje
''matrice x-eva'. Budui da MATLAB dozvoljava da ime matrice bude i malo tiskano slovo, tu

ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 43


emo matricu oznaiti sa x. Njezin je prvi lan 6, razlika 0.01, a posljednji lan 6. Dakle, u
novi redak radnoga prostora utipkavamo:

x=-6:0.01:6;

Uoimo ovdje kljunu ulogu znaka toka-zarez! Da ga nismo stavili na kraj retka, MATLAB
bi nam ispisao svih 1200 elemenata matrice x. Zbog toga ga uvijek valja staviti na kraj retka.

U novomu retku radnoga prostora formiramo matricu vrijednosti zadane funkcije, odnosno
''matricu y-a''. Nju dobivamo raunski mnoenjem, dijeljenjem i potenciranjem lanova
matrice x lan po lan. (Ovo dobro zapamtite jer se pri crtanju grafova esto grijei
zamijenjujui operacije ''lan po lan'' s ''klasinim'' aritmetikim operacijama. Zato: oprez!)
Utipkavamo:

y=2*x./(x.^2+1);

(Podsjetimo se: Mnoenje, odnosno zbrajanje matrice sa skalarom lan po lan podudara se s
''obinim'' mnoenjem, odnosno zbrajanjem sa skalarom.) I opet smo na kraju retka stavili
toku-zarez kako ne bismo dobili ispis svih elemenata matrice y.

Preostaje nam svakome od 1200 x-eva pridruiti pripadni y i toku ucrtati u pravokutni
koordinatni sustav u ravnini. U novi redak radnoga prostora utipkavamo:

plot(x,y)

pa dobivamo sljedei grafikon:

-6 -4 -2 0 2 4 6
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1


ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 44


Taj je grafikon traeni grafiki prikaz zadane funkcije.

Primjer 2. U Primjeru 1. zadatak nam je bio nacrtati grafiki prikaz neprekidne funkcije. No,
to e se dogoditi ako funkcija ima prekid (1. ili 2. vrste) na segmentu iznad kojega je crtamo?
Npr. uzmimo funkciju

2
2
( )
1
x
f x
x



i nacrtajmo njezin graf na segmentu [-6, 6].

Iole bolji znalci matematike odmah e uoiti da e tu biti dva problema: Kako odrediti
vrijednosti funkcije za x = 1 i x = 1 kad u tim tokama funkcija uope nije definirana? ''Spas''
je u varijabli NaN: ukoliko postoji x za koji ne postoji pripadni f(x), MATLAB e tome x-u
kao f(x) dodijeliti ''vrijednost'' NaN, a dobivenu ''toku'' nee ucrtati u koordinatni sustav.

Nakon to u svaki redak zasebno utipkamo

x=-6:0.01:6;
y=2*x./(x.^2-1);

MATLAB e nas upozoriti da smo u jednom ili vie sluajeva dijelili s nulom (ali nee ''rei''
u koliko smo sluajeva napravili taj ''smrtni grijeh''):

Warning: Divide by zero.

Nakon to u sljedeemu retku utipkamo

plot(x,y)

u novootvorenome emo prozoru dobiti sljedei graf:

ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 45


-6 -4 -2 0 2 4 6
-150
-100
-50
0
50
100
150

Uoimo da se iz grafa odmah mogu vidjeti prekidi u tokama x = 1 i x = 1, te da su ti prekidi
2. vrste (ne mogu se ukloniti jer oito ne postoje granine vrijednosti zadane funkcije u
navedenim dvjema toama).

U prethodnim smo primjerima na jednoj slici prikazivali graf samo jedne funkcije. No,
prigodom grafikoga rjeavanja nelinearnih jednadbi iznimno je vano na istoj slici prikazati
grafove dviju ili vie funkcija (kako bi se priblino mogla oitati sjecita tih grafova)
definiranih na istom segmentu. (Takve emo probleme razmatrati i rjeavati u 8. poglavlju.)
Tu se ponovno javlja naredba plot, ali ovoga puta s malo drugaijom sintaksom. U praksi se
vrlo esto zaboravi da se grafovi funkcija mogu crtati na istoj slici pomou naredbe plot ako i
samo ako su sve funkcije definirane na istom segmentu pa imajte to na umu prigodom
rabljenja ove funkcije!

Ovu, malo sloeniju primjenu naredbe plot pokazat emo na konkretnom primjeru.

Primjer 3. Na istoj slici nacrtajmo grafove funkcija f(x) = 2x + 1, g(x) = 1 x i h(x) = ln x na
segmentu [1, 20]. Najprije generiramo matricu x-eva:

ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 46


x=1:0.01:20;

a potom i tri matrice y1, y2 i y3 s odgovarajuim vrijednostima funkcija:

y1=2*x+1; (matrica vrijednosti funkcije f)
y2=1-x; (matrica vrijednosti funkcije g)
y3=log(x); (matrica vrijednosti funkcije h)

Sve tri krivulje prikazat emo na istoj slici utipkavanjem:

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

(Uoite da su argumenti naredbe plot ovdje odvojeni zarezima!) U novootvorenom emo
prozoru dobiti sljedeu sliku:

0 2 4 6 8 10 12 14 16 18 20
-20
-10
0
10
20
30
40
50


Plava je krivulja graf funkcije f(x), crvena graf funkcije h(x), a zelena graf funkcije g(x).
Uoimo da inae ''brza'' logaritamska funkcija ovdje prividno ''sporo'' raste jer jedinina
duina na osi Oy ima vrlo malenu duljinu. Takva je duljina odabrana kako bi se mogle
prikazati relativno velike vrijednosti funkcije f(x) u tokama blizu gornjega kraja segmenta.

ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 47


Primjer 4. Grafiki rijeimo nejednadbu sin 2x > cos x na intervalu [0, 2]. Na istoj emo
slici nacrtati grafove funkcija f(x) = sin 2x i g(x) = cos x, pa emo oitati iznad kojih je
dijelova zadanoga intervala graf funkcije f(x) iznad grafa funkcije g(x). Utipkavamo redom:

x=0:0.01:2*pi;
y1=sin(2*x);
y2=cos(x);
plot(x,y1,x,y2)

pa dobijemo sljedeu sliku:

0 1 2 3 4 5 6 7
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1


Plava krivulja je graf funkcije f(x), a zelena graf funkcije g(x). Intervale na kojima je plava
krivulja iznad zelene moemo oitati samo priblino. Dva su takva intervala: <0.6, 1,6> i

ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 48


<2.6 , 4.6>. Rijeimo li zadanu nejednadbu ''klasino'', dobit emo:
2
3
,
6
5
2

,
6

x ,
odnosno priblino

x <0.52359877559830, 1.57079632679490> < 2.61799387799149, 4.71238898038469>.

Naravno da u praksi nema potrebe da ''pogaamo'' granice intervala, nego se postupa npr.
ovako: Sa slike vidimo da prvi od intervala - rjeenja nejednadbe ima donju granicu u
segmentu [0,1]. Stoga nacrtamo grafove promatranih funkcija u tom segmentu. Utipkamo:
x=0:0.01:1;
y1=sin(2*x);
y2=cos(x);
plot(x,y1,x,y2)

i dobit emo sljedeu sliku:
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1


ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 49


S ove je slike oito da je traena donja granica u intervalu [0.5, 0.6]. Nacrtajmo grafove
promatranih funkcija i u tom segmentu. Utipkamo:

x=0.5:0.01:0.6;
y1=sin(2*x);
y2=cos(x);
plot(x,y1,x,y2)

i dobit emo sljedeu sliku:
0.5 0.51 0.52 0.53 0.54 0.55 0.56 0.57 0.58 0.59 0.6
0.82
0.84
0.86
0.88
0.9
0.92
0.94


Sad traenu donju granicu moemo odrediti jo preciznije: ona se nalazi u segmentu
[0.52, 0.53]. Ovisno o tome koliku tonost odreivanja donje granice elimo, ponavljamo
opisani postupak uzimajui svaki put sve ''krae'' intervale. Potpuno analogno se dobivaju i
ostale tri granice intervala rjeenja nejednadbe.



ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 50


3.3. Zadaci za vjebu


1. U MATLAB-u generirajte matrice

[ ]
(
(
(
(

=
(

=
(
(
(

= =
3 . 0 4 0
2
3
1
2
1 0 1
i
4 6
3 1
,
3
1
2
, 2 1 1
3
D C B A ,

pa odredite rezultate primjene naredbe PLOT na svaku od njih. Za svaku krivulju objasnite
kako je dobivena.

2. Nacrtajte grafove funkcija:

a) f(x) = sin x na segmentu [-1.5, 1.5]; b) f(x) = ln x na segmentu [0.5, 2];
c) f(x) =
1
2
+ x
x
na segmentu [-1, 1]; d) f(x) =
2
2
+ x
x
na segmentu [2, 7].
3. Na istoj slici nacrtajte grafove svih funkcija iz 2. zadatka na segmentu [0, 2].

4. a) Na istoj slici nacrtajte sinusoidu i kosinusoidu na segmentu [0, 2 ]. Pomou dobivene
slike rijeite nejednadbu

sin x > cos x

s tonou na dvije decimale. Provjerite ispravnost svojega rjeenja ''klasinim'' rjeavanjem
zadane nejednadbe.

b) Utvrdite moete li na intervalu iz a) zadatka nacrtati tangensoidu i kotangensoidu.
Objasnite to se dogodilo!

5. S tonou na dvije decimale rijeite nejednadbu

1 sin x cos
2
x

na segmentu [0, 4 ]. Provjerite ispravnost svojega rjeenja ''klasinim'' rjeavanjem zadane
nejednadbe.

6. S tonou na dvije decimale odredite sve zajednike toke krivulja y = sin x i y = ln(x + 1).


ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 51


4. OSNOVE PROGRAMIRANJA U MATLAB-U


Ve smo u uvodu u 1. poglavlje naglasili da MATLAB nije samo programski paket
namijenjen numerikomu raunanju i modeliranju, nego i vii programski jezik namijenjen
raznim znanstvenim i tehnikim primjenama. U ovoj emo toki upoznati osnove
programiranja u MATLAB-u i nauiti kako u njemu moemo sami pisati razne korisne (i
beskorisne) program(i)e.

Budui da se program najee sastoji od niza naredbi koji se u radu ee ponavlja, vrlo je
nepraktino i nezgodno pisati taj niz naredbi u radnomu prozoru. Zbog toga programe piemo
u posebne vrste datoteka tzv. m-datoteke ili m-file-ove. Nauimo najprije kako stvoriti takve
datoteke.


4.1. Kako stvoriti jednu obinu m-datoteku


Postupak stvaranja m-datoteke vrlo je jednostavan. Moemo ga provesti na dva naina, ovisno
o tome jesmo li u prijateljskim odnosima s miem svojega raunala ili nismo:

1.) (za one koji vole mieve) a) Pomiui mi po podlozi postavimo pokaziva na natpis File
blizu gornjega lijevoga kuta naega zaslona (odmah ispod natpisa MATLAB).
b) Jednom kliknemo lijevom tipkom mia na taj natpis pa se pojavi padajui izbornik s
opcijama New, Open, Close Command Window itd.
c) Postavimo pokaziva na opciju New. im to uinimo, desno od natpisa New pojavit e se
novi padajui izbornik koji nam nudi odabir etiriju opcija: M-file, Figure, Model i GUI.
d) Nas zanima opcija M-file pa emo pokaziva postaviti na taj natpis i jednom kliknuti
lijevom tipkom mia. Tada e se otvoriti tekst-editor Notepad i u njemu emo pisati svoje
naredbe.,

2.) (za one koji ne vole mieve) Postupak opisan u 1.) moemo napraviti i iskljuivo rabei
tipkovnicu. Redom kratko pritisnimo sljedee tipke (svaku posebno):

Alt, N, F, I

(opcija Caps Lock na tipkovnici ne mora biti ukljuena jer MATLAB-u ovdje nije vano jesu
li slova velika ili mala) i otvorit e se toliko eljeni Notepad.


ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 52


Uoimo da se trepui pokaziva nalazi u retku ispred kojega pie broj 1. Broj ispred linije
njezin je redni broj u datoteci, to nam vrlo esto olakava snalaenje u njoj. Upiimo u prvi
redak te datoteke:

sin(pi/2)+cos(pi)*tan(3*pi/4)

Pohranimo upisani tekst pod imenom PROBA na sljedei nain:

1.) Istodobno pritisnemo tipke Ctrl i S. (Ili ako vie volimo mieve postavimo
pokaziva na natpis File, jednom kliknemo lijevom tipkom mia, potom postavimo pokaziva
na natpis Save i ponovno jednom kliknemo lijevom tipkom mia. to vam se ini bre?)

2.) U novootvorenome prozoru MATLAB nas najprije obavjetava da e datoteku ma kako
god je nazvali pohraniti u direktorij C:\matlabR12\work. Taj je direktorij ''default-ni''
direktorij za pohranu svih tipova datoteka. Ukoliko elimo datoteku pohraniti u neki drugi
direktorij, tada pomicanjem mia po podlozi postavimo pokaziva na mali trokuti odmah
pokraj natpisa work. Jednom kliknemo lijevom tipkom mia na taj trokuti i otvorit e nam se
izbornik u kojemu klikovima na lijevu tipku mia sami formiramo stazu (engl. path) do
direktorija u kojega elimo pohraniti nau datoteku. Ovdje se neemo odluiti na tu
mogunost, nego emo datoteku pohraniti u direktorij C:\matlabR12\work.

3.) Ispod natpisa Save in: moemo vidjeti popis svih datoteki dosad pohranjenih u direktoriju
C:\matlabR12\work.

4.) Ispod popisa datoteki nalazi se natpis File name: kraj kojega je bijeli pravokutnik s plavo
obrubljenim slovima Untitled odmah do kojih je trepui pokaziva. Naime, MATLAB
predvia mogunost da postoji nematoviti korisnik programa bez ideje kako nazvati datoteku
koju je upravo stvorio. Da takvomu korisniku cjelokupni dosadanji trud ne bi otiao u
nepovrat, MATLAB nudi mogunost da stvorenu datoteku nazove Untitled (engl. bez
naslova). No, mi smo se ve ranije odluili da emo takvu datoteku nazvati Proba pa
pritisnimo strelicui koja se nalazi odmah iznad vee od dviju tipki Enter na naoj
tipkovnici. Kad to uinimo, natpis Untitled e nestati i ostat e samo trepui pokaziva.

5.) Upisujemo ime datoteke:

proba.m

Ovo dobro zapamtite: MATLAB zahtijeva da se pohrani ime datoteke zajedno s njezinom
ekstenzijom. Budui da se ovdje radi o m-datoteci, ona ima kratku, ali jasnu ekstenziju: .m
Zbog toga prigodom pohrane moramo upisati ime datoteke u obliku:


ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 53


ime_datoteke.m

6.) Pritisnemo Enter ili jednom kliknemo lijevom tipkom mia na natpis Save. Datoteka je
pohranjena, to nam potvruje natpis na vrhu zaslona:

C:\matlabR12\work\proba.m


Za izlaz iz upravo pohranjene datoteke moemo istodobno pritisnuti tipke Ctrl i W ili
ponovo jednom kliknuti lijevom tipkom mia na natpis File, postaviti pokaziva na natpis
Close proba.m i jednom kliknuti lijevom tipkom mia na taj natpis. U oba sluaja zatvaramo
pohranjenu m-datoteku i vraamo se u radni prostor.

Uinak upravo provedenih radnji moemo vidjeti ukoliko u novomu retku radnoga prostora
utipkamo:

proba

i pritisnemo Enter. Dobit emo:

ans =

2

to se dogodilo? MATLAB je pokrenuo datoteku s nazivom proba.m, izvrio sve naredbe
zapisane u njoj kao da su zapisane u njegovu radnomu prostoru i ispisao krajnji rezultat tih
naredbi. Budui da je

3
sin cos tg 1 ( 1) ( 1) 2
2 4

+ = + = ,

rezultat jedine upisane naredbe u datoteci proba jest 2 i to je rezultat koji je ispisao
MATLAB.

Ovakav je nain zapisivanja i izvravanja naredbi praktian jer se lako mogu popravljati
greke prije nego li se program izvri (za razliku od naredbi u radnomu prostoru gdje se
greke otklanjaju tek nakon izvravanja naredbe). ak i ako pogrijeimo, MATLAB e nas
pristojno obavijestiti u kojemu je retku nae datoteke pronaao greku, te nas obavijestiti o
kakvoj se greci radi, pa emo je moi ispraviti.



ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 54


4.2. Funkcijske mdatoteke


Mdatoteke vrlo su korisne i u stvaranju tzv. funkcijskih datoteka. To su datoteke kojima se
nizom naredbi definira nova programska funkcija koja se pohranjuje u isti direktorij kao i
obine m-datoteke (C:\matlabR12\work), ali se poziva drugaije nego obina m-datoteka.
Njezina sintaksa je:

function [izlazne varijable]=ime_funkcije(ulazne varijable)
naredbe
end

Objasnimo ukratko o emu se ovdje radi. Neka funkcija u MATLAB-u kao rezultat ne mora
dati samo jednu, nego i vie vrijednosti. Zbog toga se sve te varijable moraju staviti u uglate
zagrade i meusobno razdvojiti zarezima. Takva se funkcija u radnomu prostoru poziva na
sljedei nain:

[izlazne varijable]=ime_funkcije(ulazne varijable)

POZOR!!! esta je greka da se prigodom poziva funkcije uope ne navedu, djelomino
navedu ili redosljedno pogreno navedu ulazne varijable. U takvim e sluajevima MATLAB
odmah javiti greku i nee izvriti eljenu funkciju. S izlaznim varijablama je malo drugaija
pria jer ako ne navedemo ime izlazne varijable, MATLAB e joj sam dodijeliti ime ans. No,
problem nastaje ako elimo vie izlaznih varijabli: ne navedemo li im imena, MATLAB e
ispisati samo jednu od njih. Zato: oprez!

Ukoliko funkcija ima tono jednu izlaznu varijablu, ona se ne mora stavljati u uglate zagrade.

Ime funkcije mora biti jednako imenu funkcijske m-datoteke (bez ekstenzije). Dakle, ne
smije se dogoditi da u datoteci imamo zapisano npr.

function y = kotangens(x)

a da funkcijsku datoteku nazovemo npr. pajza.m. Ako smo funkciju nazvali kotangens, onda
i pripadnu funkcijsku m-datoteku moramo nazvati kotangens.m jer je u suprotnom pri njezinu
pozivu MATLAB nee izvriti.

Sama funkcija moe imati jednu ili vie ulaznih varijabli. Neovisno o njihovu broju, moraju
se navesti unutar okruglih zagrada. Ako ih je barem dvije, odvajaju se zarezima. Varijable,
openito, mogu biti brojevi i matrice, s tim da MATLAB razlikuje to je broj, a to matrica pa

ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 55


se ne smije dogoditi da varijablu matrinoga tipa prigodom poziva pozovemo kao varijablu
brojanoga tipa.

Pogledajmo na primjeru kako stvoriti jednu ''novu'' funkciju u MATLAB-u.

Primjer 1. Napiimo funkcijsku m-datoteku zbrajanje.m koja sadri jedino funkciju
zbrajanje ije su ulazne varijable dva realna broja, a koja kao rezultat vraa zbroj tih brojeva.
Otvorimo novu m-datoteku pa upiimo:

function z=zbrajanje(x,y)
z=x+y;

te je pohranimo pod nazivom zbrajanje.m u direktorij C:\matlabR12\work. Potom zatvorimo
stvorenu datoteku.

Uoimo to smo u njoj napravili: zbroj dvaju realnih brojeva je jedinstven realan broj, pa
imamo tono jednu izlaznu varijablu koju smo oznaili sa z. Funkciji smo dali ime zbrajanje
jer zadatak trai da se datoteka zove zbrajanje.m, a znamo da ime funkcije i ime datoteke
moraju biti jednaki. Ulazne varijable oznaene su s x i y i odvojene zarezima.

Kako pozvati ovakvu funkciju iz radnoga prostora? Kao i svaku drugu: pozivamo je navodei
izlazne varijable, ime funkcije i ulazne varijable. Za razliku od izlazne varijable kojoj e se
vrijednost dodijeliti nakon to se izvre sve naredbe u funkcijskoj m-datoteci, ulazne varijable
moraju biti konkretne, odnosno njima se vrijednosti moraju dodijeliti prije poziva funkcije.

elimo li zbrojiti npr. 123456789 i 987654321, te rezultat zapisati u varijablu zbroj, utipkat
emo:

zbroj=zbrajanje(123456789,987654321)

i dobiti:

zbroj =

1.111111110000000e+009

Ulazne varijable ne moraju nuno biti eksplicitno zadani (realni ili kompleksni) brojevi, nego
mogu biti i vrijednosti nekih brojevnih izraza. U novi red radnoga prostora utipkajmo:

zbroj=zbrajanje(conj(1-3*i),abs(1+sqrt(3)*i)/i)

i dobit emo:

ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 56


zbroj =

1.00000000000000 + 1.00000000000000i

Kako bismo uspjeno mogli stvarati nove i sloenije funkcije u MATLAB-u, upoznat emo
jo neke njegove naredbe.


4.3. Uvjetne naredbe (naredbe kontrole tijeka)


Zajednika karakteristika svih uvjetnih naredbi jest da izvode odreeni skup naredbi sve dok
je zadovoljen odreeni uvjet, pri emu se parametri toga uvjeta mijenjaju svaki put kad se
izvede spomenuti skup naredbi. Tri su standardne uvjetne naredbe: for, while, if.. else. U
nastavku emo upoznati svaku od njih.


4.3.1. Naredba for


Naredba for slui za ponavljanje niza naredbi unaprijed zadani broj puta. Budui da uvijek
dolazi zajedno s tim nizom, u pravilu se govori o forpetlji. Njezina je sintaksa:

for varijabla=izraz1:izraz2:izraz3
niz naredbi
end

Prvi redak u ovoj sintaksi predstavlja zapis zahtjeva da varijabla poprima sve vrijednosti od
izraza1 do izraza3 s korakom izraz2. to to zapravo znai? Kad MATLAB izvrava ovu
petlju, pri ''prvom itanju'' on varijabli varijabla dodijeli vrijednost izraz1 i prelazi na
izvravanje cijeloga niza naredbi smjetenoga u petlji. Kraj toga niza oznaava naredba end.
Kad u ''prvom itanju'' MATLAB ''stigne'' do naredbe end, vrati se ponovno na redak u
kojemu pie naredba for i vrijednost varijable varijabla promijeni (uvea ili smanji) za
vrijednost izraz2. Potom usporedi novodobivenu vrijednost varijable varijabla s vrijednou
izraz3. Ako je vrijednost varijable varijabla manja ili jednaka vrijednosti izraz3, MATLAB
ponovno izvrava niz naredbi smjeten (ili, kako se to struno kae, ''ugnijeen'') u petlji
nakon ega se opet vraa na redak u kojemu je naredba for. Ako je vrijednost varijable
varijabla vea od vrijednosti izraz3, petlja je zavrena pa se prelazi na prvu naredbu iza
naredbe end.


ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 57


Napomenimo da ako je vrijednost varijable izraz2 jednaka 1, ta se varijabla moe izostaviti u
sintaksi petlje. Takoer, ukoliko iz bilo kojih razloga elimo prekinuti izvravanje petlje,
rabimo naredbu break.

Pogledajmo primjenu ove petlje na primjerima.

Primjer 1. Napiimo funkciju zbroj ija je jedina ulazna varijabla prirodan broj n, a jedina
izlazna varijabla vrijednost zbroja prvih n prirodnih brojeva. Oznaimo li izlaznu varijablu sa
z, onda u prvomu retku nae funkcijske m-datoteke zbroj.m (ponovimo: naziv datoteke mora
biti jednak nazivu funkcije!) zapisujemo:

function z=zbroj(n)

Na poetku je vrijednost izlazne varijable z jednaka 0, pa to zapisujemo u drugomu retku:

z=0;

Traeni emo zbroj izraunati pomou forpetlje. Za vrijednost varijable izraz1 uzet emo 1,
za vrijednost varijable izraz3 uzet emo ulaznu varijablu n, a budui da moramo obuhvatiti
sve prirodne brojeve od 1 do n, vrijednost varijable izraz2 mora biti jednaka 1, pa je
izostavljamo. Sada piemo naredbu for:

for m=1:n

Varijabla varijabla iz gornje sintakse ovdje je krae oznaena slovom m. Ona e poprimati
vrijednosti svih prirodnih brojeva od 1 do n, pa emo je iskoristiti za raunanje krajnjega
zbroja:

z=z+m;
end.

Izvrite ''runo'' ovu petlju i uvjerite se da je krajnja vrijednost izlazne varijable z uistinu
jednaka zbroju prvih n prirodnih brojeva. Pohranimo nau m-datoteku, vratimo se u radni
prostor i provjerimo ispravnost svojega rada uzimajui n = 100. Pozovimo nau funkciju
utipkavajui:

z=zbroj(100)

i dobit emo:

z =

5050

ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 58


Koristei se formulom za raunanje zbroja prvih n lanova aritmetikoga niza, provjerite
''runo'' da je zbroj prvih 100 prirodnih brojeva uistinu jednak 5 050.

Primjer 2. Napiimo funkciju faktorijel iji je jedina ulazna varijabla prirodan broj n, a jedina
izlazna varijabla umnoak prvih n prirodnih brojeva (taj se umnoak oznaava s n! i naziva n
faktorijela). Oznaimo tu izlaznu varijablu s u. Ideja za rjeenje zadatka je slina kao u
Primjeru 1., samo to na poetku varijabli u dodijeljujemo vrijednost 1, a u petlji umjesto
z=z+m stavljamo z=z*m. Stoga u funkcijsku m-datoteku faktorijel.m utipkavamo redom:

function u=faktorijel(n)
u=1;
for m=1:n
u=u*m;
end

Pohranimo upisane naredbe, vratimo se u radni prostor i izraunajmo 40! utipkavajui:

u=faktorijel(40)

i MATLAB e ispisati:


u =

8.159152832478977e+047

Primjer 3. Napiimo funkciju zp ija je jedina ulazna varijabla prirodan broj n, a jedina
izlazna varijabla zbroj prvih n parnih prirodnih brojeva. Oznaimo taj zbroj ponovno sa z.
Prvi parni prirodan broj je 2, a kako ih mora biti ukupno n, posljednji od njih je 2n. Ideja
rjeavanja zadatka je slina kao u prethodnim primjerima, samo to se naredba for mora malo
preraditi. U funkcijsku m-datoteku zp.m utipkavamo:

function z=zp(n)
z=0;
for m=2:2:(2*n)
z=z+m;
end

Pohranimo upisane naredbe i vratimo se u radni prostor. elimo li izraunati zbroj prvih 10
parnih prirodnih brojeva, u novomu retku radnoga prostora upiimo:

z=zp(10)

ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 59


i dobit emo:

z =

110

Koristei se formulom za raunanje zbroja prvih n lanova aritmetikoga niza, provjerite
''runo'' da je zbroj prvih 10 parnih prirodnih brojeva uistinu jednak 110.


4.3.2. Naredba while


Ova naredba koristi se prigodom ponavljanja niza naredbi sve dok je valjan odreeni logiki
uvjet. Njezina sintaksa je

while logiki uvjet
naredbe
end

I ovdje za ''prisilni'' izlaz iz petlje moemo rabiti naredbu break. Valja napomenuti da ukoliko
logiki uvjet ''u startu'' nije valjan, niti jedna od naredbi unutar while-petlje niti jednom nee
biti izvrena.

Pogledajmo uporabu ove naredbe na primjerima.

Primjer 4. Izraunajmo sumu reda

+
4
1
n
n


do na tonost eps. Izraz do na tonost eps znai da prigodom raunanja zbroja reda kao
pribrojnike uzimamo sve lanove reda koji su barem jednaki eps. Budui da je niz a
n
=
4
1
n
n +

strogo padajui (provjerite to!), tih lanova ima konano mnogo, pa za rjeavanje zadatka
moemo rabiti petlje. Radi preglednosti, rjeenje zadatka zapisat emo u obliku obine m
datoteke red.m. U tu datoteku utipkamo:





ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 60


s=0; inicijalizacija zbroja s
n=1; inicijalizacija indeksa n
while (n+1)/(n^4)>=eps uvjet da lan reda mora biti barem jednak eps
s=s+(n+1)/(n^4); n-ta parcijalna suma reda
n=n+1; poveanje indeksa za 1
end kraj petlje
s ispis konane sume reda

Pohranimo tu datoteku i vratimo se u radni prostor. U njegovu novomu retku upiimo

red

i dobit emo:

s =

2.28438013685600

To je traena suma reda.

Primjer 5. Izraunajmo sumu alterninanoga reda

!
) 1 (
1
n
n
do na tonost eps. U ovome
emo zadatku vidjeti kako unutar neke petlje pozivamo zasebno definirane MATLAB-ove
funkcije. U Primjeru 2. stvorili smo funkcijsku mdatoteku faktorijel.m koju emo iskoristiti
pri rjeavanju ovoga zadatka. Opet radi preglednosti zapiimo rjeenje zadatka u obliku
obine mdatoteke alternirani.m U tu datoteku utipkamo:

s=0;
n=1;
while abs((-1)^(n+1)/faktorijel(n))>=eps
s=s+(-1)^(n+1)/faktorijel(n);
n=n+1;
end
s

Objasnimo poblie trei redak ove datoteke. On predstavlja zahtjev da apsolutna vrijednost
svakoga lana reda mora biti barem jednaka eps. Zbog ega nismo mogli postupiti kao u
Primjeru 4.? Budui da je red alternirani, njegovi lanovi mijenjaju predznak: prvi je
pozitivan, drugi negativan, trei opet pozitivan itd. Nakon inicijalizacije varijable n u

ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 61


drugomu redu, MATLAB e u treemu redu provjeriti je li nejednakost
! 1
) 1 (
1 1+

eps istinita.
Ona to oito jest pa e se izvriti naredbe u etvrtomu (varijabla s poprima vrijednost 0 + 1 =
1) i petomu redu (n poprima vrijednost 1 + 1 = 2) i vratiti ponovno u trei red. Sada
MATLAB provjerava istinitost nejednakosti
!
) 1 (
1
n
n+

eps za n = 2. Za n = 2 na lijevoj je
strani te nejednakosti negativan broj, a s desnoj pozitivan pa ona nije istinita. Time MATLAB
automatski ''preskae'' sve daljnje naredbe sadrane u whilepetlji, te prelazi na prvu naredbu
iza naredbe end. No, time oito ne dobivamo eljenu sumu reda, ve samo ispis njegova
prvoga lana.

Uoimo uporabu funkcije faktorijel u treemu retku i nain njezina pozivanja! Kako smo
vidjeli u Primjeru 2., jedina njezina ulazna varijabla je prirodan broj n. Na poetku je n =
1, u petomu redu petlje stoji naredba da se n prigodom svakoga izvravanja petlje uvea za 1,
to znai da n poprima vrijednosti 1, 2, 3, , ba kako i zahtijeva funkcija faktorijel. Dakako,
prije poziva funkcije moramo inicijalizirati sve njezine ulazne varijable, to smo i uinili
inicijalizirajui varijablu n u drugomu redu.


4.3.3. Naredba ifelse


Naredba ifelse (engl.: ako inae) slina je naredbi while jer se takoer koristi za
ponavljanje niza naredbi sve dok je zadovoljen odreeni logiki uvjet. Razliku meu ove
dvije naredbe objasnit emo na sintaksi:

if logiki izraz
naredbe1
else
naredbe2
end

Evo kako ''funkcionira'' ova petlja: Kad prigodom izvravanja programa MATLAB ''doe'' do
naredbe if, ''pogleda'' je li logiki izraz naveden odmah iza naredbe if istinit ili nije. Ukoliko
jest, izvrava se skup naredbi naredbe1 i nakon toga se ponovno provjerava istinitost
logikoga izraza. Ukoliko logiki izraz nije istinit, tono jednom se izvrava skup naredbi
naredbe2 i nakon toga se prelazi na prvu naredbu iza naredbe end. Dakle, skup naredbi
naredbe1 moe se izvravati i vie puta (tonije, sve dok je logiki izraz istinit), dok se skup
naredbi naredbe2 izvrava svega jednom.


ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 62


Ukoliko je skup naredbi naredbe2 prazan skup, dio

else
naredbe2

moemo izostaviti.

Pogledajmo uporabu ove naredbe na primjerima.

Primjer 6. Kreirajmo funkcijsku mdatoteku zbrojm.m koja sadri jedino funkciju zbrojm
ije su ulazne varijable realne matrice x i y, a izlazna varijabla 1 ako postoji zbroj x + y, a 0
inae. Podsjetimo se da se matrice mogu zbrojiti ako i samo ako su istoga tipa. Stoga najprije
moramo usporediti ukupne brojeve redaka, odnosno stupaca tih matrica, to emo uiniti
rabei naredbu size. To e ujedno biti i na logiki uvjet u naredbi if. Otvorimo novu m
datoteku i utipkamo:

function z=zbrojm(x,y)
if (size(x,1)==size(y,1)&size(x,2)==size(y,2))
z=1;
else
z=0;
end

Ovdje prvi put susreemo uporabu ''klasinoga'' logikoga operatora AND (engl.: i) iju smo
oznaku ve upoznali u toki 1.4. Uoimo uporabu naredbe if. Logiki uvjet zapisan u
drugomu retku ''preveden'' na ''obian'' jezik glasi: ''Ako je broj redaka matrice x jednak broju
redaka matrice y i ako je broj stupaca matrice x jednak broju stupaca matrice y, onda'' Ako
je taj logiki uvjet istinit, prelazi se na naredbu navedenu odmah u retku ispod. U tome se
retku izlaznoj varijabli z dodijeljuje vrijednost 1 jer tako zahtijeva zadatak. Ako logiki uvjet
nije istinit, prelazi se na prvu naredbu ispod naredbe else. To je z = 0 kojom se izlaznoj
varijabli z dodijeljuje vrijednost 0, opet jer tako zahtijeva zadatak. Tree mogunosti nema pa
se zatvara petlja, a time i cijela funkcija.

Pohranimo dobivenu datoteku i vratimo se u radni prostor. Provjerimo ''ispravnost rada'' nae
funkcije na primjeru matrica
[ ] [ ]
(
(
(

= = =
3
2
1
i 2 1 3 , 3 2 1 C B A .
Utipkajmo u novi redak radnoga prostora:


ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 63


A=[-1 2 3];B=[3 1 2];C=[1;2;3];

pa pozovimo funkciju zbrojm za parove matrica (A, B) i (B,C). Oekujemo da e zbrojm(A,B)
biti jednak 1 jer su A i B istoga tipa (1 3), te da e zbrojm(A,B) biti jednak 0 jer B i C nisu
istoga tipa. Utipkamo:

z1=zbrojm(A,B),z2=zbrojm(B,C)

pa e MATLAB ispisati:

z1 =

1

z2 =

0

Primjer 7. Kreirajmo funkcijsku mdatoteku extremi2.m koja sadri jedino funkciju
extremi2 iji su argumenti realni brojevi a, b i c i koja ima dvije izlazne varijable: min koja se
ispisuje ako i samo ako polinom p(x) = ax
2
+ bx + c ima minimum i jednaka je vrijednosti
toga minimuma, te max koja se ispisuje ako i samo ako polinom p(x) = ax
2
+ bx + c ima
maksimum i jednaka je vrijednosti toga maksimuma. U sluaju da polinom nema ekstrema,
treba ispisati tekst Nema ekstrema.

Podsjetimo se da polinom p(x) = ax
2
+ bx + c uvijek ima ekstrem s koordinatom
|
|

\
|

a
b ac
a
b
T
4
4
,
2
2
. Taj ekstrem je minimum ako je a > 0, a maksimum ako je a < 0. Stoga u
mdatoteku extremi2.m utipkamo:

function[min,max]=extremi2(a,b,c);
if a==0
'Nema ekstrema'
else
ekstrem=[-b/2*a (4*a*c-b^2)/4*a];
if a>0
min=ekstrem
else
max=ekstrem
end
end

ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 64


Uoimo strukturu ove funkcije! Najprije se provjerava je li a = 0 i ako jest, ispisuje se tekst
Nema ekstrema i petlja je gotova. Ukoliko je a 0 (to osigurava else), najprije se raunaju
koordinate ekstrema (prema gornjoj formuli), a onda se postavlja jo jedna ifelse petlja u
kojoj se odreuje je li izraunati ekstrem minimum ili maksimum.,

Primjer 8. Odredimo sva rjeenja nejednadbe 4x
2
+ 4y
2
36 koja se nalaze unutar skupa
[5,5]
2
. ([5, 5]
2
= [5, 5] [5, 5] je Kartezijev kvadrat segmenta [5, 5].) Radi
jednostavnosti, zapiimo rjeenje ovoga primjera u datoteku nejednadzba1.m. Osnovna ideja
je provjeriti zadovoljava li svaka toka skupa [5, 5]
2
zadanu nejednadbu, ali kako tih toaka
ima neprebrojivo mnogo (tj. koliko i realnih brojeva), ograniit emo provjeru na ukupno
10 000 toaka. Utipkamo:

hold
x=(-5):0.1:5;
y=(-5):0.1:5;
for m=1:100
for n=1:100
if 4*x(m)^2+4*y(n)^2<=36
plot(x(m),y(n))
end
end
end

Ovdje smo uporabili i novu naredbu hold koja nam omoguuje zadravanje dobivenoga grafa
na zaslonu.

Uoimo tijek ovoga programa! U drugomu i reemu retku inicijalizirali smo jednoretane
matrice apscisa, odnosno ordinata. Svaka od njih ima po 100 elemenata, to znai da emo
napraviti provjeru za ukupno 10 000 elemenata skupa [5,5]
2
. U etvrtomu i petomu retku
poinju for petlje u kojima su ulazne varijable indeksi matrice x, odnosno matrice y. U
estomu retku postavljamo logiki uvjet: to je zadana nejednadba i zahtijevamo od
MATLAB-a da provjeri zadovoljavaju li koordinate toke (x[m], y[n]) tu nejednadbu. Ako je
logiki uvjet istinit, tj. ako toke zadovoljavaju nejednadbu, u sedmomu retku traimo od
MATLAB-a da ih ucrta u pravokutni koordinatni sustav u ravnini. Ako logiki uvjet nije
istinit, if - petlja je gotova, pa MATLAB provjerava je li gotova i for petlja za varijablu n.
Ako nije, ponovno se izvrava if petlja, ali ovoga puta s novom vrijednou varijable n (za 1
vea nego u prethodnomu koraku). Ako jest, MATLAB provjerava je li gotova i forpetlja za
varijablu m. Ako nije, ponovno se izvrava forpetlja za varijablu n, ali ovoga puta s novom
vrijednou varijable m (za 1 vee nego u prethodnomu koraku). Ako jest, sve petlje su
zavrene, a kako nema drugih naredbi izvan njih, i sam program je gotov.


ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 65


Primijetite da se petlja za m izvrava tono 100 puta, a petlja za n 100 100 = 10 000 puta (za
svaki m po 100 puta!). Naredba if takoer se izvrava 10 000 puta, ali naredba plot ne jer
njezino izvravanje ovisi je li istinit logiki uvjet naveden iza naredbe if.

Pohranimo dobivenu datoteku i vratimo se u radni prostor, te u njegovu novomu retku
utpikajmo:

nejednadzba1

i dobit emo sljedeu sliku:
-3 -2 -1 0 1 2 3
-3
-2
-1
0
1
2
3

''Klasino'' rjeavajui zadanu nejednadbu provjerite da je gornji skup toaka uistinu rjeenje
postavljenoga zadatka.

Primjer 9. Kreirajmo funkcijsku mdatoteku najmanji.m koja sadri jedino funkciju
najmanji ija je jedina ulazna vrijednost realna matrica x, a jedina izlazna vrijednost najmanji
element matrice x.


ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 66


Ovo je klasian programerski zadatak koji se susree u svim kursevima iz osnova
programiranja. Osnovna ideja za rjeavanje jest sljedea: Izlazna varijabla (nazovimo je y)
inicijalizira se na element x
11
zadane matrice. Potom se ta vrijednost poinje redom
usporeivati sa sljedeim elementima matrice. Ukoliko se naie na element manji od
vrijednosti pohranjene u varijabli y, taj se element pohrani u tu varijablu (time se brie
posljednje pohranjena vrijednost varijable y). Zbog tranzitivnosti relacije ''manji ili jednak''
((a < b b < c) (a < c)) novopohranjeni element ne moramo usporeivati sa svim
elementima koje smo ''obradili'' prije njega nego usporeivanje nastavljamo dalje sve dok ne
doemo do posljednjega elementa zadane matrice.

Prema tome, u datoteku najmanji.m utipkajmo:

function y=najmanji(x)
y=x(1,1);
for m=1:size(x,1)
for n=1:size(x,2)
if x(m,n)<=y
y=x(m,n);
end
end
end

Pohranimo upisane naredbe i vratimo se u radni prostor. Provjerimo ''ispravnost'' rada nae
funkcije na primjerima matrica
[ ] [ ]
(
(
(

= = =
3
2
1
i 2 1 3 , 3 2 1 C B A .

Oznaimo sa n1, n2 i n3 najmanje elemente tih matrica. Oito je n1 = 1, n2 = n3 = 1.
Pogledajmo to e nam ispisati MATLAB kada u novomu retku radnoga prostora utipkamo:

n1=najmanji(A), n2=najmanji(B), n3=najmanji(C)

i pritisnemo Enter. Dobivamo:

n1 =

-1

n2 =

1

n3 =

1

ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 67


4.4. Zadaci za vjebu


1. Zadane su jednoretane matrice x = [0.5 1 0.25 0 4] i y = [2 1 4 0.75 0.25].
Koristei for petlju izraunajte vrijednosti sljedeih izraza::

a)

5
1 k
k k
y x ; b)

5
1
3 2
k
k k
y x ; c)

5
1 k
k k
y x .

2. Koristei for petlju izraunajte module vektora:

( )
2 3 1 0 5 3 x = i

2003 2001 2003 2001
(cos sin tg ctg )
4 4 4 4
y

=

(Formule za raunanje duljine ovih vektora analogne su formuli za raunanje duljine vektora
u trodimenzionalnom prostoru.)

3. Zadana je funkcija nepoznata s:

function y=nepoznata(n)
y=0;
for m=2:3:n
y=y+m^2;
end

Bez uporabe MATLAB-a odredite to e se ispisati ukoliko utipkamo:

y=nepoznata(9)

Potom provjerite svoje rjeenje rabei MATLAB.

4. Zadana je funkcija nepoznata1 s:

function y=nepoznata1(n)
y=1;
for m=n:1
y=y*m;
end

ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 68


Bez uporabe MATLAB-a odredite to e se ispisati ukoliko utipkamo:

y=nepoznata1(9)

Potom provjerite svoje rjeenje rabei MATLAB.

5. U nekoj funkcijskoj mdatoteci, izmeu ostaloga, pie:

for m=1:2:101
for n=2:2:102
if (m+n=49)
.
.
end
end
end

(S su oznaene naredbe u if-petlji nevane za zadatak.)

a) Koliko e se puta izvriti gornja forpetlja za varijablu m?

b) Koliko e se puta izvriti gornja forpetlja za varijablu n?

c) Koliko e se puta izvriti gornja ifpetlja?

6. U nekoj funkcijskoj mdatoteci izmeu ostaloga pie:

i=1;
while (i<=2004)
.
.
i=i+3;
end

(S su oznaene naredbe u if-petlji nevane za zadatak.)

Koliko e se puta izvriti gornja whilepetlja?

7. Izraunajte sumu sljedeih redova (do na tonost eps) koristei naredbu while:


ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 69


a)

2
1
n
; b)

+
2 3
2
sin
n n
n
; c)

+ +
+
1 ln 2
tg
2
n n n
n n
; d)


+
1
4
) 1 ln(
n
e
n
.

8. Grafiki rijeite sljedee nejednadbe na segmentu [-6,6]:

a) x
2
+ y
2
9; b) 4x
2
+ 4y
2
25; c) 2x
2
+ 3y
2
6; d) 3x
2
+ 4y
2
24;

e) 4x
2
y
2
4; f) 9x
2
4y
2
36; g) 2x + 3y < 6; h) 3x 2y + 12 < 0.

9. Kreirajte obinu m-datoteku pozivom koje e se ispisati:

a) zbroj kvadrata prvih 50 prirodnih brojeva;

b) zbroj treih korijena prvih 1 000 000 prirodnih brojeva.

10. Kreirajte obinu m-datoteku pozivom koje e se prikazati:

a) graf funkcije f(x) = x
2
+ 5x + 6 na segmentu [-6, 6];

b) graf funkcije f(x) = sin x na segmentu [-8, 8];

c) grafovi funkcija f(x) = 1 + x i g(x) = ln(x + 1) na segmentu [0, 3].

11. Kreirajte obinu m-datoteku obini.m pozivom koje e se prikazati graf funkcije
f(x) = 1 + x na segmentu [3, 3]. to se dogaa nakon poziva te datoteke iz radnoga
prostora? Obrazloite!

12. Kreirajte funkcijsku mdatoteku zn.m koja e sadravati jedino funkciju zn iji je jedina
ulazna varijabla prirodan broj n, a jedina izlazna varijabla vrijednost zbroja prvih n neparnih
prirodnih brojeva. Provjerite svoje rjeenje za n = 10.

13. Kreirajte funkcijsku mdatoteku zpk.m koja e sadravati jedino funkciju zpk ija je
jedina ulazna varijabla prirodan broj n, a jedina izlazna varijabla vrijednost zbroja kvadrata
prvih n parnih prirodnih brojeva. Provjerite svoje rjeenje za n = 10.

14. Kreirajte funkcijsku mdatoteku kvadratna.m koja e sadravati jedino funkciju
kvadratna ije su ulazne varijable realni brojevi a, b i c, a izlazne varijable rjeenja kvadratne
jednadbe ax
2
+ bx + c = 0.


ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 70


15. Trag kvadratne matrice A (reda n) jest zbroj elemenata na njezinoj glavnoj dijagonali.
Kreirajte funkcijsku mdatoteku trag.m koja sadri jedino funkciju trag ija je jedina ulazna
varijabla realna matrica x, a izlazna varijabla trag matrice x ako je x kvadratna matrica, a
poruka ''Matrica nije kvadratna!'' inae.

16. Kreirajte funkcijsku m-datoteku kvadrati1.m koja sadri jedino funkciju kvadrati1 ije su
ulazne varijable prirodni brojevi m i n, a jedina izlazna varijabla zbroj kvadrata svih prirodnih
brojeva izmeu m i n ako je m < n, a 0 inae.

17. Kreirajte funkcijsku mdatoteku umnozakm.m koja sadri jedino funkciju umnozakm ije
su ulazne varijable matrice x i y, a jedina izlazna varijabla 1 ako postoji umnoak x y ( je
standardno matrino mnoenje), a 0 inae.

18. Kreirajte funkcijsku mdatoteku najveci.m koja sadri jedino funkciju najvei ija je
jedina ulazna varijabla realna matrica x, a jedina izlazna varijabla najvei element matrice x.

19. Kreirajte funkcijsku mdatoteku zbrojmin.m koja sadri jedino funkciju zbrojmin ija je
ulazna varijabla realna matrica x, a jedina izlazna varijabla zbroj najmanjih elemenata u
retcima matrice x.

20. Kreirajte funkcijsku mdatoteku umnozakmax.m koja sadri jedino funkciju
umnozakmax ija je jedina ulazna varijabla realna matrica x, a jedina izlazna varijabla
umnoak najveih elemenata u stupcima matrice x.



















ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 71


5. OSNOVE DESKRIPTIVNE STATISTIKE


U svakodnevnome se ivotu gotovo ''od malih nogu'' susreemo s obradom raznih tipova
podataka. Primjerice, jedna od glavnih ''briga'' svakoga uenika nekoga od razreda osnovne ili
srednje kole jest postignuti uspjeh na kraju svake kolske godine. to je uspjeh bolji, vee su
mogunosti za upis eljene srednje kole (za osnovnokolce) , te vie ili visoke kole,
odnosno fakultete (za srednjokolce). Na temelju ega se odreuje taj uspjeh? To znamo svi:
na temelju svih zakljunih ocjena iz odsluanih nastavnih predmeta. A kako se odreuje? I na
to pitanje znamo odgovor: odreuje se prosjena ocjena iz svih odsluanih nastavnih
predmeta, i to tako da se zbroj svih ocjena podijeli ukupnim brojem odsluanih nastavnih
predmeta. Zapravo moemo rei da smo skup od ukupno n ocjena opisali samo jednom
ocjenom prosjenom ocjenom.

Ovaj primjer je jedan od sluajeva kada odreeni skup nekih podataka (koji ne moraju nuno
biti brojevi) trebamo opisati jednim jedinim podatkom. Razlog je najee ''velik'' broj
elemenata poetnoga skupa podataka pa nam je znatno lake praktino baratati samo s jednim
podatkom koji dovoljno dobro opisuje cijeli ''veliki'' skup. Obrada i analiza podataka, te
interpretacija dobivenih rezultata dio su znanstvene discipline koja se naziva statistika.

U ovome emo poglavlju upoznati naine obrade i analize numerikih podataka dakle,
podataka ije su vrijednosti (tzv. modaliteti) iskazani brojevima. (Podaci, inae, mogu biti i
nenumeriki, kao to su npr. spol, brano stanje, tip automobila itd.) Vidjet emo kako
pomou osnovnih i dopunskih funkcija MATLAB-a moemo grupirati podatke, prikazati ih
grafiki, te ih opisati osnovnim parametrima statistikoga niza numerikih podataka:
prosjekom ili aritmetikom sredinom, varijancom i standardnom devijacijom. Detaljnija
teorijska razmatranja ovdje izostavljamo.


5.1. Kvantitativna diskretna statistika obiljeja


Pretpostavimo da imamo zadan statistiki niz modaliteta nekoga kvantitativnoga diskretnoga
obiljeja (tj. podataka dobivenim brojanjem):

a
1
, a
2
, , a
n


(Tih podataka ima konano mnogo, tj. n N.) elimo te podatke prikazati tablino i grafiki,
te ih opisati pomou odgovarajuih veliina. Osnovna veliina pri tablinomu prikazu
podataka je apsolutna frekvencija nekoga podatka. Ako se modalitet a
i
u zadanomu

ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 72


statistikomu nizu javlja ukupno f
i
puta, onda krae kaemo da je apsolutna frekvencija
modaliteta a
i
jednaka f
i
.

Usko vezana uz apsolutnu je i tzv. relativna frekvencija (oznaimo je s r
i
). Ona je jednaka
koliniku apsolutne frekvencije f
i
i ukupnoga broja lanova niza iskazanom u postotcima:

% 100|

\
|
=
n
f
r
i
i
.
(Naime,
n
f
i
je uvijek decimalan broj u segmentu [0,1], pa ga je prikladno zapisati u
postotcima.) Ako modalitet a
i
ima relativnu frekvenciju r
i
%, to znai da je r
i
% svih lanova
niza jednako a
i
.

Postoji jo jedna vrsta frekvencija, a to su tzv. kumulativne frekvencije koje mogu biti
kumulativne apsolutne, odnosno kumulativne relativne frekvencije ''manje od'' i kumulativne
apsolutne, odnosno kumulativne relativne frekvencije ''vee od''. Da bismo uope mogli
raunati bilo koju kumulativnu frekvenciju, zadane modalitete moramo sortirati, odnosno
poredati ili od najveega prema najmanjemu ili od najmanjega prema najveemu. MATLAB-
ova funkcija sort reda podatke od najmanjega prema najveemu pa emo se i mi odluiti na
takav poredak podataka. Radi jednostavnosti ovoga uvodnoga razmatranja pretpostavimo da
su zadani podaci ve sortirani, tj. da je

a
1
, a
2
, , a
n


sortiran niz modaliteta od najmanjega prema najveemu. Tada je:

kumulativna apsolutna frekvencija ''manje od'' modaliteta a
i
jednaka zbroju apsolutnih
frekvencija svih modaliteta (elemenata niza) koji su manji ili jednaki a
i
;
- kumulativna apsoltuna frekvencija ''vee od'' modaliteta a
i
jednaka zbroju apsolutnih
frekvencija svih modaliteta (elemenata niza) koji su vei ili jednaki a
i
;
- kumulativna relativna frekvencija ''manje od'' modaliteta a
i
jednaka koliniku apsolutne
kumulativne frekvencije ''manje od'' toga modaliteta i zbroja apsolutnih frekvencija svih
modaliteta, pri emu se taj kolinik obvezatno iskazuje u postotcima,
- kumulativna relativna frekvencija ''vee od'' modaliteta a
i
jednaka koliniku apsolutne
kumulativne frekvencije ''vee od'' toga modaliteta i zbroja apsolutnih frekvencija svih
modaliteta, pri emu se taj kolinik obvezatno iskazuje u postotcima.

Na kraju ovoga kratkoga pregleda statistikih veliina koje e nam kasnije trebati spomenimo
i osnovne numerike parametre statistikoga niza. Njihov je pregled dan u donjoj tablici.


ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 73


Naziv parametra MATLAB-ova funkcija
za raunanje parametra
Interpretacija
parametra
aritmetika sredina MEAN prosjena vrijednost lanova niza
varijanca VAR prosjeno kvadratno odstupanje
lanova niza od aritmetike sredine
standardna devijacija STD prosjeno odstupanje lanova niza od
aritmetike sredine
koeficijent varijacije ne postoji mjera rasprenosti podataka, jednaka je
koliniku standardne devijacije i
aritmetike sredine iskazanome u
postotcima

Budui da emo sve podatke obraivati i analizirati pomou MATLAB-a, odmah uvedimo
dogovor da ''sirove'', odnosno neobraene podatke zapisujemo matrino u obliku jednoretane
matrice. Razlog tomu je to sve gornje funkcije imaju matrinu ulaznu varijablu. Zbog raznih
praktinih razloga (najei je pogreka pri unosu podatka) prikladno je ''sirove'', odnosno
neobraene podatke zapisati u neku obinu mdatoteku koju u svakomu trenutku moemo
pozvati iz radnoga prostora jednostavnim navoenjem njezina imena.

Pogledajmo na primjerima kako se tablino i grafiki obrauju nizovi ''sirovih'' podataka.

Primjer 1. Dravna revizorica urica Knjii kontrolira tonost knjienja knjigovodstvenih
zapisa. Odabirui 30 uzoraka od kojih se svaki sastoji od tono 20 knjigovodstvenih zapisa
biljeila je broj pogrenih zapisa u svakom uzorku. Dobila je sljedee podatke:

3, 5, 2, 2, 5, 7, 6, 3, 1, 4, 8, 0, 0, 3, 6, 2, 5, 3, 0, 1, 6, 4, 4, 7, 2, 1, 6, 0, 3, 5

Prikaimo te podatke tablino, odredimo apsolutnu, relativnu, kumulativnu apsolutnu i
kumulativnu relativnu frekvenciju ''manje od'' modaliteta 4, te sve osnovne numerike
parametre ovoga statistikoga niza, pa ih interpretirajmo.

Kako smo rekli, zadani niz ''sirovih'' podataka najprije zapiemo u obliku jednoretane
matrice u obinu mdatoteku. Nazovimo tu datoteku pogreske.m. U nju utipkamo (u jednomu
retku):

x = [3, 5, 2, 2, 5, 7, 6, 3, 1, 4, 8, 0, 0, 3, 6, 2, 5, 3, 0,
1, 6, 4, 4, 7, 2, 1, 6, 0, 3, 5]

pohranimo unesene podatke i vratimo se u radni prostor. U njegovu novome retku utipkajmo:

pogreske

ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 74


i MATLAB e ispisati:

x =

Columns 1 through 13

3 5 2 2 5 7 6 3 1 4 8 0 0

Columns 14 through 26

3 6 2 5 3 0 1 6 4 4 7 2 1

Columns 27 through 30

6 0 3 5

Prikaimo najprije te podatke tablino. Uoimo da se gornji niz sastoji od ukupno 9 razliitih
vrijednosti (modaliteta): 0, 1, 2, 3, 4, 5, 6, 7 i 8. Svaka od tih vrijednosti pojavljuje se u nizu
odreeni broj puta, pa najprije moramo odrediti te brojeve. U tu svrhu kreirajmo mdatoteku
af.m (u direktoriju C:\matlabR12\work) koja sadri jedino funkciju af ija je jedina ulazna
varijabla matrica x, a izlazne varijable matrice a i f koje sadre sve razliite elemente niza
poredane od najmanjega do najveega, te njihove apsolutne frekvencije.

Utipkajmo:

function [a,f]=af(x)
x=sort(x); j=1; broj=1;
for k=2:size(x,2)
if x(k)==x(k-1), broj=broj+1;
else f(j)=broj; a(j)=x(k-1); broj=1; j=j+1; end
a(j)=x(k); f(j)=broj;
end

Pohranimo utipkane naredbe i vratimo se u radni prostor. Utipkajmo:

[a,f]=af(x)

i dobit emo:

a =

0 1 2 3 4 5 6 7 8

f =

4 3 4 5 3 4 4 2 1

ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 75


Iz tablice oitamo da je apsolutna frekvencija modaliteta 4 jednaka 3, to interpretiramo
ovako: U ukupno 3 uzorka bilo je tono 4 pogrena zapisa. Izraunajmo sada relativnu
frekvenciju toga modaliteta prema njezinoj definicijskoj formuli. Utipkajmo:

r=4/30*100

i dobit emo:

r =

13.33333333333333

Taj broj interpretiramo ovako: U ukupno 13.333% uzoraka bilo je tono 4 pogrena zapisa.

Prijeimo na izraunavanje kumulativnih frekvencija ''manje od''. Kumulativnu apsolutnu
frekvenciju ''manje od'' podatka 4 dobivamo tako da zbrojimo apsolutne frekvencije svih
modaliteta koji su manji ili jednaki 4, a to su 0, 1, 2, 3 i 4. Utipkamo:

kaf=4+3+4+5

i dobijemo:

kaf =

16

Taj broj interpretiramo ovako: U ukupno 16 uzoraka bilo je najvie 4 pogrena zapisa.
Pripadnu kumulativnu relativnu frekvenciju odreujemo utipkavanjem:

krf=16/30*100

Dobijemo:

krf =

53.33333333333334

Taj broj interpretiramo ovako: U ukupno 53.333% uzoraka bilo je najvie 4 pogrena zapisa.

Preostaje nam jo izraunati i interpretirati osnovne numerike parametre ovoga niza.
Izraunat emo ih pomou funkcijske mdatoteke negrupirani.m kako bismo izbjegli
viekratno utipkavanja niza istih naredbi. Otvorimo novu mdatoteku i utipkajmo:

ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 76


function [sv,v,sd,kv]=negrupirani(x);
sv=mean(x);
v=var(x);
sd=std(x);
kv=sd/sv*100;

Pohranimo unesene naredbe i vratimo se u radni prostor. U novi red utipkamo:

[sv,v,sd,kv]=negrupirani(x)

i dobijemo:

sv =

3.46666666666667


v =

5.42988505747126

sd =

2.33021137613549


kv =

67.21763585006228

Te brojeve redom interpretiramo ovako:

Prosjean broj pogreaka u jednom uzorku (ili po jednom uzorku) iznosi 3.466667.
Prosjeno kvadratno odstupanje broja pogreaka od aritmetike sredine iznosi 5.42989.
Prosjeno odstupanje broja pogreaka od aritmetike sredine iznosi 2.33021.
Rasprenost pogreaka oko prosjenoga broja pogreaka je 67.21764% (prilino velika, to
znai da se podaci slabo grupiraju oko aritmetike sredine).

elimo li obraene podatke prikazati grafiki, to moemo uiniti na vie naina. Najei
prikazi su poligon apsolutnih frekvencija (ili mnogokut uestalosti), jednostavni stupci i
jednostavni retci. Dobivamo ih rabei naredbe plot, bar i barh. Utipkajmo najprije:


ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 77


plot(a,f)

i dobit emo sljedei graf::
0 1 2 3 4 5 6 7 8
1
1.5
2
2.5
3
3.5
4
4.5
5

Ova krivulja prikazuje ovisnost apsolutnih frekvencija o modalitetima, tj. ovisnost vrijednosti
matrice f o vrijednostima matrice a. Znatno poznatiji prikaz jesu jednostavni stupci.
Zatvorimo prethodnu sliku, vratimo se u radni prostor i u njegov novi red utipkajmo:

bar(a,f)

Dobit emo sljedeu sliku:

ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 78


0 1 2 3 4 5 6 7 8
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5

elimo li vizualno efektniji prikaz, moemo utipkati:

bar3(a,f)

to daje sljedeu trodimenzionalnu sliku:


ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 79


0
1
2
3
4
5
6
7
8
0
1
2
3
4
5

Potpuno analogno postupamo i u sluaju prikazivanja pomou jednostavnih redaka.
Zatvorimo prethodne slike. U novi red radnoga prostora utipkamo:

barh(a,f)

i dobijemo:

ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 80


0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
0
1
2
3
4
5
6
7
8

Ukoliko i ovdje elimo trodimenzionalni prikaz, utipkat emo:

bar3h(a,f)

i dobiti sliku:

ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 81


0
1
2
3
4
5
0
1
2
3
4
5
6
7
8

Ovime je obrada i analiza zadanoga niza zavrena.

Primjer 2. Brojanje poziva u nekoj je telefonskoj centrali vreno automatski u jednakim
vremenskim intervalima od po jedne minute. Kapacitet centrale jest est poziva u minuti.
Telefonski operater biljeio je broj poziva u svakoj minuti tijekom jednoga sata i dobio je
sljedee vrijednosti:

2,3,5,3,0,3,0,5,4,4,6,3,4,6,3,5,6,3,4,1,0,3,4,5,6,3,0,3,0,4,1,2,0,3,4,5,3,5,3,2,3,4,5,3,6,4,3,2,4,2,
1,3,4,5,6,4,3,4,2,1.

a) Prikaimo dobiveni statistiki niz tablino i grafiki (poligonom frekvencija i jednostavnim
3Dstupcima).

b) Odredimo apsolutnu i relativnu frekvenciju modaliteta 0 i interpretirajmo te vrijednosti.

c) Izraunajmo postotak minuta u kojima broj poziva nije bio vei od 4.


ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 82


d) Izraunajmo prosjean broj poziva u minuti, te odgovarajui pokazatelj rasprenosti
brojeva poziva oko prosjenoga broja poziva.

Da bismo rijeili sve navedene zadatke, navedene ''sirove'' podatke najprije moramo zapisati
matrino u obinu mdatoteku. Nazovimo tu datoteku pozivi.m. Otvorimo tu datoteku pa
preslikom gornjih vrijednosti (jednostavnom Copy Paste tehnikom) unesimo:

x=[2,3,5,3,0,3,0,5,4,4,6,3,4,6,3,5,6,3,4,1,0,3,4,5,6,3,0,3,0,4
,1,2,0,3,4,5,3,5,3,2,3,4,5,3,6,4,3,2,4,2,1,3,4,5,6,4,3,4,2,1];

Na kraju gornjega retka stavili smo toku-zarez kako bismo sprijeili MATLAB da nam
iznova ispie svih 60 dobivenih podataka. Pohranimo unesene podatke, vratimo se u radni
prostor i u njegov novi redak upiimo:

pozivi

Ovime smo ''neprimjetno'' deklarirali matricu x i u radnom prostoru. Sada moemo prijei na
rjeavanje zadataka.

a) Najprije utipkajmo:

[a,f]=af(x)

pa e MATLAB ispisati:

a =

0 1 2 3 4 5 6


f =

6 4 6 17 13 8 6

i to je traeni tablini prikaz. Za grafiki prikaz u novi red radnoga prostora najprije
utipkajmo:

plot(a,f)

i dobit emo sljedei poligon frekvencija:

ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 83


0 1 2 3 4 5 6
4
6
8
10
12
14
16
18

Zatvorimo dobivenu sliku i vratimo se u radni prostor. Za prikaz podataka pomou
jednostavnih 3D-stupaca u novi redak upiimo:

bar3(a,f)

i dobit emo traeni prikaz:


ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 84


0
1
2
3
4
5
6
0
2
4
6
8
10
12
14
16
18

b) Iz tablice dobivene u a) zadatku oitavamo da je apsolutna frekvencija modaliteta 0
jednaka 6. To znai da u tono 6 minuta nije bilo niti jednoga poziva. Relativnu frekvenciju
raunamo iz njezine definicijske formule:

r=6/60*100

pa e MATLAB ispisati:

r =

10

To znai da u 10% minuta nije bilo niti jednoga poziva.

c) U ovome nam je zadatku zadana interpretacija jedne vrste frekvencija za jedan od
modaliteta. Rije ''postotak'' ukazuje da se radi o relativnim frekvencijama, a rijei ''nije bio
vei od 4'' ukazuju da je rije o kumulativnoj relativnoj frekvenciji ''manje od'' modaliteta 4.

ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 85


Dakle, traimo kumulativnu relativnu frekvenciju ''manje od'' modaliteta 4. Da bismo je
odredili, najprije moramo izraunati pripadnu kumulativnu apsolutnu frekvenciju. Ona se
dobije zbrajanjem apsolutnih frekvencija svih modaliteta koji su manji ili jednaki 4, a u ovom
su sluaju to 0, 1, 2, 3 i 4. Stoga utipkamo:

kaf=6+4+6+17+13

i dobit emo tu frekvenciju:

kaf =

46

U sljedeemu retku izraunavamo traenu kumulativnu relativnu frekvenciju:

krf=46/60*100

pa emo dobiti:

krf =

76.66666666666667

Dakle, u priblino 76.6667% minuta broj poziva nije bio vei od 4.

d) Tekst ovoga zadatka dulji je od njegova rjeenja: trae se (samo) vrijednosti aritmetike
sredine i koeficijenta varijacije. Izraunat emo ih u novomu retku:

sv=mean(x),kv=std(x)/sv*100

pa dobivamo:

sv =

3.25000000000000


kv =

52.42107505975262


ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 86


Dakle, prosjeno je bilo 3.25 poziva u jednoj minuti, a rasprenost poziva oko prosjenoga
broja poziva iznosi 52.421% (relativno velika).


5.2. Kvantitativna kontinuirana statistika obiljeja


Za razliku od kvanititativnih diskretnih statistikih obiljeja ije modalitete dobivamo
brojanjem, modalitete kontinuiranih statistikih obiljeja dobivamo mjerenjem. Zbog jako
velikoga broja tako dobivenih modaliteta prikladno ih je grupirati u razrede. Razredi su
konaan niz meusobno disjunktnih poluotvorenih intervala takvih da je maksimalan element
svakoga lana toga niza (osim zadnjega) ujedno i najmanji element sljedeega lana toga niza.
Posljednji lan niza je uvijek segment. (Ti intervali moraju biti disjunktni kako bi se
zadovoljio uvjet da svaki modalitet kvantitativnoga kontinuiranoga statistikoga obiljeja
pripada tono jednom razredu.) Ukratko opiimo kako za zadane modalitete kvatitativnoga
kontinuiranoga statistikoga obiljeja formirati grupiranje u razrede, te kako dalje ''raunati'' s
takvim razredima. (Postoji vie takvih ''tehnika'', a mi emo opisati onu koju emo
primjenjivati u MATLAB-u.)

Najprije moramo zadati ukupan broj razreda u koje elimo grupirati podatke (oznaimo taj
broj sa r). Kao najmanji element prvoga (ili poetnoga) razreda uzmemo najmanji modalitet
(oznaimo ga sa m), a kao najvei element zadnjega (ili zavrnoga) razreda uzmemo najvei
modalitet (oznaimo ga sa M). Izraunamo vrijednost

r
m M
d

=

koju nazivamo irina razreda pa definiramo razrede:

[m, m + d>, [m + d, m + 2 d>, [m + 2 d, m + 3 d>, , [m + (r 1) d, M]

Sada svaki od modaliteta pridruimo odgovarajuem razredu, pa tako dobivamo apsolutne
frekvencije razreda f
i
. Te frekvencije govore koliko je podataka u kojemu razredu. Njihov
ukupan zbroj mora biti jednak ukupnomu broju polaznih podataka (negrupiranih u razrede).
Najmanji element svakoga razreda naziva se donja granica, a maksimalni element svakoga
razreda gornja granica razreda.

Namee se pitanje: kako raunati s dobivenim razredima? Mi znamo zbrajati, oduzimati,
mnoiti i dijeliti samo realne brojeve, ali ne i poluotvorene intervale, odnosno segmente. Taj
se problem rjeava definiranjem razredne sredine kao aritmetike sredine najmanjega i

ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 87


maksimalnoga lana pojedinoga razreda. Drugim rijeima, ako je [A, B> (ili [A, B]) neki
razred, onda je

2
B A
s
+
=

sredina toga razreda. Tako svaki od dobivenih razreda ''zamijenimo'' s njegovom sredinom, pa
dobivamo istu situaciju kao i u prethodnoj toki. Zapravo smo problem s kontinuiranim
obiljejem ''preveli'' na problem s diskretnim obiljejem.

U MATLAB-u emo to grupiranje izvesti pomou funkcije sfc ije su ulazne varijable matrica
s negrupiranim podacima i ukupan broj razreda, a izlazne varijable su razredne sredine,
njihove apsolutne frekvencije i zajednika irina svih razreda. Pogledajmo to na primjeru.

Primjer 1. Mjerenjem masa (u kg) trideset purana u nekomu peradarniku dobiveni su sljedei
podaci:

8.22, 6.03, 5.81, 7.23, 5.67, 4.90, 6.97, 8.65, 8.44, 7.57, 6.89, 6.60, 6.85, 5.52, 5.14, 6.97,
7.98, 5.70, 5.09, 7.22, 5.54, 8.06, 7.33, 5.94, 6.47, 7.24, 6.59, 5.83, 7.58, 6.15

Grupirajmo dobivene podatke u r = 5 razreda, izraunajmo osnovne numerike parametre
negrupiranih i grupiranih podataka, interpretirajmo ih i usporedimo, te prikaimo grafiki.

Podatke najprije zapiemo u obinu mdatoteku koju emo nazvati purani.m. Otvorimo je (iz
radnoga prostora) pa utipkajmo:

x=[8.22, 6.03, 5.81, 7.23, 5.67, 4.90, 6.97, 8.65, 8.44, 7.57, 6.89, 6.60, 6.85,
5.52, 5.14, 6.97, 7.98, 5.70, 5.09, 7.22, 5.54, 8.06, 7.33, 5.94, 6.47, 7.24, 6.59,
5.83, 7.58, 6.15];
Pohranimo unesene podatke i vratimo se u radni prostor. U novi redak utipkamo:

purani

i inicijalizirali smo matricu x s masama purana. Grupirajmo ih u 5 razreda utipkavanjem:

[s,f,c]=sfc(x,5)

i dobit emo:





ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 88



s =

Columns 1 through 4

5.27500000000000 6.02500000000000 6.77500000000000 7.52500000000000

Column 5

8.27500000000000


f =

5 7 7 6 5


c =

0.75000000000000

Dakle, razredne sredine su redom 5.275, 6.025, 6.775, 7.525 i 8.275, a pripadne apsolutne
frekvencije redom 5, 7, 7, 6 i 5. irina svakoga razreda jednaka je 0.75.

Za razliku od primjera iz prethodne toke u kojima smo sve osnovne numerike parametre
raunali pomou odgovarajuih MATLAB-ovih funkcija, ovdje te parametre moramo raunati
''po definiciji'', odnosno rabei definicijske formule. Ipak, da ih ne bismo morali neprekidno
utipkavati, stvorit emo funkcijsku mdatoteku grupirani.m. Ona e sadravati jedino
funkciju grupirani ije su ulazne varijable matrice s i f, a izlazne varijable vrijednosti
aritmetike sredine, varijance, standardne devijacije i koeficijenta varijacije. Dakle, otvorimo
novu mdatoteku i u nju utipkajmo:

function [sv,v,sd,kv] = grupirani(s,f);
N=sum(f);
sv=s*f'/N;
v=(s.^2)*f'/N-sv^2;
sd=sqrt(v);
kv=sd/sv*100;

Pohranimo unesene naredbe i vratimo se u radni prostor. Utipkajmo:

[sv,v,sd,kv]=grupirani(s,f)

pa e MATLAB ispisati:



ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 89



sv =

6.75000000000000


v =

0.99312499999999


sd =

0.99655657139973


kv =

14.76380105777383

Interpretacije dobivenih vrijednosti su sljedee:

Prosjena masa purana iznosi 6.75 kg.
Prosjeno kvadratno odstupanje masa purana od prosjene mase iznosi 0.993 kg.
Prosjeno odstupanje masa purana od prosjene mase iznosi 0.997 kg.
Rasprenost masa purana oko prosjene mase iznosi 14.764% (relativno mala).

Izraunajmo sada vrijednosti istih veliina, ali iz negrupiranih podataka. Pritisnimo tipku i
preuredimo posljednje upisanu naredbu ovako:

[sv,v,sd,kv]=negrupirani(x)

Dobit emo:

sv =

6.67266666666667


v =

1.08962712643678


ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 90


sd =

1.04385206156657


kv =

15.64370159206571

Interpretacije dobivenih vrijednosti su iste kao i za grupirane podatke.

Usporedimo dobivene rezultate! Primjeujemo da je prosjena masa izraunata iz
negrupiranih podataka manja od prosjene mase izraunate iz grupiranih podataka, dok su
varijanca, standardna devijacija i koeficijent varijacije vei. Namee se pitanje: koje
vrijednosti bolje opisuju zadani niz masa purana? Odgovor je uvijek: vrijednosti dobivene
pomou negrupiranih podataka. Grupiranjem u razrede i zamjenom razreda njegovom
sredinom dobivamo na jednostavnosti baratanja s negrupiranim podacima, ali gubimo na
tonosti izrauna osnovnih numerikih parametara statistikoga niza. Zbog toga je bolje kad
god nije odve sloeno osnovne numerike parametre statistikoga niza raunati pomou
negrupiranih podataka.

Preostaje dobivene grupirane podatke prikazati grafiki. Modaliteti kvantitativnih
kontinuiranih statistikih obiljeja uvijek se prikazuju histogramom (studenti vole rei da su
to ''slijepljeni jednostavni stupci''). Histogram dobijemo pomou funkcije hist ije su ulazne
varijable matrica x negrupiranih podataka i ukupan broj razreda r. U naem sluaju utipkamo:

hist(x,5)

i dobijemo sljedei histogram:

ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 91


4.5 5 5.5 6 6.5 7 7.5 8 8.5 9
0
1
2
3
4
5
6
7

Poligon frekvencija koji dobijemo utipkavanjem

plot(s,f)

u ovom sluaju izgleda ovako:

ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 92


5 5.5 6 6.5 7 7.5 8 8.5
5
5.2
5.4
5.6
5.8
6
6.2
6.4
6.6
6.8
7


5.3. Zadaci za vjebu


1. Tijekom protekle dvije godine Ivica je svakoga mjeseca biljeio iznos telefonskoga rauna
(u kn). Dobio je sljedee vrijednosti:

250.45, 220.79, 235.75, 245.36, 224.46, 236.24, 180.42, 182.64, 228.26, 234.18, 226.89,
232.74, 260.10, 218.32, 225.48, 241.66, 214.83, 233.14, 182.26, 187.85, 227.67, 237.08,
232.49, 229.84.

a) Je li u ovome sluaju rije o vrijednostima kvantitativnoga diskretnoga ili kvantitativnoga
kontinuiranoga statistikoga obiljeja? Obrazloite svoj odgovor.

b) Grupirajte dobivene vrijednosti u ukupno 6 razreda i prikaite dobivene rezultate grafiki.


ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 93


c) Izraunajte osnovne numerike parametre zadanoga statistikoga niza rabei negrupirane i
grupirane podatke. Interpretirajte svaki od tih parametara.

2. Tijekom protekloga mjeseca Janica je svakoga dana biljeila ocjene iz kolskih ispita i
dobila je sljedee vrijednosti:

3, 2, 4, 4, 2, 5, 5, 2, 2, 4, 3, 4, 2, 2, 5, 4, 4, 3, 2, 4, 3, 3, 5, 4, 5, 3, 2, 5, 4, 2.

a) Prikaite dobivene podatke tablino i grafiki.

b) Izraunajte apsolutnu, relativnu, kumulativnu apsolutnu i kumulativnu relativnu
frekvenciju ''nie od'' modaliteta 3. Interpretirajte svaki od dobivenih rezultata.

c) Izraunajte postotak kolskih ispita iz kojih je Janica dobila barem ''etvorku''.

d) Izraunajte Janiinu prosjenu ocjenu iz kolskih ispita, te odgovarajui pokazatelj
rasprenosti ocjena oko prosjene ocjene.

3. Rodilite u Vukovaru tijekom proteklih je mjeseci biljeilo poroajnu masu (u g) svih
novoroenih beba. Dobivene su sljedee vrijednosti:

3450, 4550, 3150, 3200, 2700, 4130, 2980, 3325, 3560, 3730, 2450, 3900, 2780, 3890, 4650,
3540, 2930, 3820, 3230, 4522, 4883, 2403, 2776, 3762, 2783, 3895, 4656, 3544, 2942, 3854,
3286, 4572, 3012, 3326, 3794, 3774, 2506, 3908, 2784, 4433, 4673, 3583, 2931, 3852, 3273,
4598, 4322.

a) Je li u ovome sluaju rije o vrijednostima kvantitativnoga diskretnoga ili kvantitativnoga
kontinuiranoga obiljeja? Obrazloite svoj odgovor.

b) Grupirajte poroajne mase u ukupno 10 razreda i prikaite dobivene rezultate grafiki.

c) Izraunajte osnovne numerike parametre zadanoga statistikoga niza rabei negrupirane i
grupirane podatke, te interpretirajte svaki od njih.

4. Radi poveanja uinkovitosti rada odjela za kredite razvojni odjel banke ''Mufljuzbank''
biljeio je broj usluenih klijenata u jednome satu tijekom jednoga tjedna. Dobiveni su
sljedee vrijednosti:

6, 5, 3, 8, 7, 4, 2, 6, 9, 4, 5, 7, 4, 9, 1, 6, 8, 5, 3, 10, 7, 4, 5, 12, 3, 6, 4, 8, 5, 2, 11, 0, 6, 7, 4,
8, 5, 9, 3, 7, 1, 6, 4, 5, 7, 2, 9, 5, 12, 3, 8, 6, 10, 7, 4, 8, 6, 7, 5, 6.


ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 94


a) Je li u ovome sluaju rije o vrijednostima kvantitativnoga diskretnoga ili kvantitativnoga
kontinuiranoga obiljeja? Obrazloite svoj odgovor.

b) Izraunajte apsolutnu i kumulativnu relativnu frekvenciju ''nie od'' modaliteta 5 i
interpretirajte dobivene rezultate.

c) Izraunajte prosjean broj usluenih klijenata u jednome satu, te odgovarajui pokazatelj
rasipanja zadanih vrijednosti oko toga broja.

5. U praksi se podaci vrlo esto grupiraju u razrede ije su donje i gornje granice, te irine
viekratnici brojeva 10, 100, 1000 itd. Kreirajte funkcijsku datoteku sf1.m koja sadri jedino
funkciju sf1 ije su ulazne varijable jednoretana matrica x iji su elementi negrupirani
modaliteti kvantitativnoga obiljeja, te prirodan broj n. Funkcija treba grupirati modalitete u
razrede irine n takve da je donja granica prvoga razreda najvei prirodan broj djeljiv s n koji
je manji ili jednak svakom od modaliteta, a gornja granica posljednjega razreda najmanji
prirodan broj djeljiv s n koji je vei ili jednak svakom od modaliteta. Na izlazu treba ispisati
razredne sredine i pripadne apsolutne frekvencije. Provjerite valjanost funkcije na podacima
iz prethodnoga zadatka i za n = 1000.

Uputa: U rjeavanju zadatka rabite aritmetike funkciju mod, min i max:
- mod(a,b)vraa ostatak pri dijeljenju broja a brojem b;
- min(x) rauna najmanji element jednoretane matrice x;
- max(x) rauna najvei element jednoretane matrice x.

6. Kreirajte funkcijsku mdatoteku najcesci.m koja sadri jedino funkciju najcesci ija je
jedina ulazna varijabla jednoretana matrica x iji su elementi negrupirani modaliteti
kvantitativnoga diskretnoga obiljeja. Na izlazu funkcija treba ispisati modalitet koji se
najee pojavljuje u statistikome nizu, a ako takvih modaliteta ima vie, onda treba ispisati
najmanji od njih.

Napomena: Vrijednost koja se najee pojavljuje u nekom statistikom nizu naziva se mod.
Zato gornju funkcijsku datoteku nismo mogli nazvati mod.m?








ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 95


6. PRILAGODBA TEORIJSKIH STATISTIKIH RAZDIOBA
EMPIRIJSKIM PODACIMA


U ovome emo poglavlju razmatrati rjeavanje sljedeega problema: Pretpostavimo da su nam
zadani skup modaliteta nekoga kvantitativnoga statistikoga obiljeja i pripadne apsolutne
frekvencije tih modaliteta. Kako ve znamo iz statistike, ti se podaci dobiju statistikim
istraivanjem. U ovom se sluaju statistiko istraivanje sastoji od izvoenja niza meusobno
nezavisnih sluajnih pokusa, tj. pokusa iji ishod ne moemo unaprijed predvidjeti. Kako
bismo s odreenom vjerojatnou ipak procjenjivali mogue ishode, rabimo sluajne
varijable koje svakom elementu skupa elementarnih dogaaja pridruuju tono jedan realan
broj.

Teorija kae da sluajne varijable mogu biti diskretne (kada je slika sluajne varijable (tj.
skup tono svih vrijednosti koje poprima ta varijabla) konaan ili prebrojiv skup), te
kontinuirane (kada je slika sluajne varijable neprebrojiv skup). Sluajne varijable opisujemo
pomou njihove funkcije razdiobe (distribucije). Vrijednost te funkcije u nekoj toki a
jednaka je vjerojatnosti da sluajna varijabla poprimi vrijednosti (strogo) manje od a. Upoznat
emo tri takve funkcije razdiobe: binomnu, Poissonovu i normalnu, te emo nauiti kako
odrediti parametre tih razdioba tako da to bolje opisuju spomenute sluajne pokuse. Krae
kaemo da emo teorijske razdiobe prilagoditi empirijskim podacima. Budui da je praktino
najtei problem ''pogoditi'' razdiobu koja najbolje opisuje sluajne pokuse, dat emo i kriterije
kada uporabiti koju razdiobu.


6.1. Razdiobe diskretnih sluajnih varijabli


Postoji vie vrsta razdioba diskretnih sluajnih varijabli, ali praktino su nesumnjivo
najznaajnije binomna i Poissonova razdioba.


6.1.1. Binomna razdioba


Binomna se razdioba obino javlja kod sluajnih pokusa koji imaju tono dva ishoda: ''uspjeh''
i ''neuspjeh''. (Takvi se pokusi nazivaju Bernoullijevi pokusi). Primjeri takvih pokusa su
roenje djeteta, odreivanje je li neki proizvod ''kart'' ili nije itd. No, to nisu jedini primjeri
uporabe binomne razdiobe. Openito, binomna se razdioba rabi u sluajevima kada
promatramo neki sluajan pokus i dogaaj A koji se moe, ali i ne mora dogoditi u tom

ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 96


sluajnom pokusu. Nazovimo ''uspjeh'' ishod pokusa u kojemu se dogodio dogaaj A, a sa
''neuspjeh'' ishod pokusa u kojemu se nije dogodio dogaaj A i neka je p vjerojatnost
''uspjeha''. (Uoite da smo na opisani nain promatrani sluajni pokus zapravo sveli na
Bernoullijev pokus.) Izvedemo li ukupno n sluajnih pokusa, onda dogaaju A moemo
pridruiti prirodan broj k koji oznaava ukupan broj ''uspjeha'' u tih n sluajnih pokusa (tj.
koliko se puta kao ishod sluajnoga pokusa pojavio dogaaj A). Time je definirana sluajna
varijabla B. Njezina slika je oito konaan skup [n] := {1, 2, , n} pa je B diskretna
sluajna varijabla.

Osnovni parametri binomne sluajne varijable su ukupan broj pokusa n i vjerojatnost
''uspjeha'' p. Zbog toga piemo:

B ~ B(n, p)

Kod opisivanja razdioba uvijek elimo odrediti vjerojatnost da vrijednost sluajne varijable
bude jednaka nekom broju. Openito, odredimo vjerojatnost da e sluajna varijabla B
poprimiti vrijednost k, tj. da je ukupno k sluajnih pokusa rezultiralo ''uspjehom'', a ostatak
sluajnih pokusa (njih n k) ''neuspjehom''. Moe se pokazati da vrijedi formula:

P(B = k) =
k n k
p p
k
n

|
|

\
|
) 1 ( .

Matematiko oekivanje binomne sluajne varijable s jedne je strane aritmetika sredina
empirijskih podataka, a s druge umnoak np. Slino, varijanca binomne sluajne varijable s
jedne je strane varijanca empirijskih podataka, a s druge umnoak np(1 p). Upravo
jednakosti

sv = n p i v = n p (1 p)

omoguuju nam prilagodbu (teorijske) binomne razdiobe empirijskim podacima i to sljedeim
algoritmom:

Korak 1. Izraunamo aritmetiku sredinu sv i varijancu v empirijskih podataka. Ako je v sv,
onda postoji binomna razdioba koja e dobro opisati zadane empirijske podatke. Ako je
v > sv, takva binomna razdioba ne postoji (tj. podaci su distribuirani prema nekoj drugoj
razdiobi).

Korak 2. Izraunamo vrijednost parametra p iz jednakosti


ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 97


p = 1
sv
v
.

Korak 3. Izraunamo vrijednost parametra n iz jednakosti

n =
(

p
sv
.

(Najee e n biti jednak najveemu od modaliteta.)

Korak 4. Za svaki k [n] izraunamo vjerojatnost P(B = k) prema naprijed navedenoj
formuli.

Korak 5. Prema statistikoj definiciji vjerojatnosti, P(B = k) je jednaka omjeru ukupnoga
broja serija u kojima se dogodilo tono k ''uspjeha'' i ukupnoga broja izvedenih sluajnih
pokusa. No, ukupan broj serija u kojima se dogodilo tono k ''uspjeha'' je statistika
interpretacija pojma (teorijske) apsolutne frekvencije modaliteta k (oznaavamo je sa ft
k
).
Stoga vrijedi:

N
ft
k B P
k
= = ) (

pa teorijske frekvencije raunamo iz jednakosti

ft
k
= N P(B = k).

Implementirajmo sada opisani algoritam u MATLAB-u. Pretpostavimo da su nam ulazne
varijable ukupan broj sluajnih pokusa u jednoj seriji (n) i jednoretana matrica x koja sadri
ukupne brojeve pojavljivanja ''uspjeha'' u jednoj seriji. Ako matrica x ima ukupno s stupaca,
znai da smo izveli ukupno s serija sluajnih pokusa (tj. ukupno s n sluajnih pokusa).

Korak 1. Pomou funkcije af grupiramo elemente matrice x. Izlazne varijable su matrica a s
modalitetima 0, 1, , n i matrica f s odgovarajuim apsolutnim frekvencijama tih modaliteta.

Korak 2. Pomou funkcije mean odredimo prosjenu vrijednost sv elemenata matrice x.

Korak 3. Pomou funkcije var odredimo varijancu v elemenata matrice x.

Korak 4. Ako je v sv, prijeimo na korak 5. Ako nije, ispiimo: Traena razdioba ne
postoji! i zavrimo postupak.

ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 98


Korak 4. Izraunamo vrijednost parametra p iz jednakosti p = 1 v/sv.

Korak 5. Izraunamo vrijednost parametra n iz jednakosti n = round(sv/p).

Korak 6. Pomou funkcije sum izraunamo zbroj svih elemenata matrice f. Taj broj oznaimo
sa N.

Korak 7. Izraunamo teorijske frekvencije rabei funkcijsku mdatoteku binomna.m. Ta
datoteka sadri funkciju binomna ije su ulazne varijable redom N, n, p i a, a izlazna varijabla
matrica ft iji su elementi upravo teorijske frekvencije. Njezin sadraj je sljedei:

function ft=binomna(N,n,p,a);
for i=1:size(a,2)
ft(i)=round(N*(nchoosek(n,a(i)))*p^(a(i))*(1-p)^(n-a(i)));
end

Radi jednostavnosti, sve ove korake implementirat emo u vidu obine mdatoteke bpr.m.
Otvorimo novu m datoteku pa utipkajmo redom:

[a,f]=af(x);
sv=mean(x);
v=var(x);
if v > sv
error('Trazena binomna razdioba ne postoji!')
break
end
p=1-v/sv;
n=round(sv/p);
N=sum(f);
n
p
a
f
ft=binomna(N,n,p,a)

Pohranimo upisane naredbe i vratimo se u radni prostor. Ako su nam sluajno matrice a i f
ve zadane (tj. podaci su ve grupirani), datoteku bpr.m modificiramo u datoteku bprg.m u
koju utipkajmo:





ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 99


N=sum(f);
sv=a*f'/N;
v=(a.^2)*f'/N-sv^2;
if v > sv
error('Trazena binomna razdioba ne postoji!')
break
end
p=1-v/sv;
n=round(sv/p);
n
p
a
f
ft=binomna(N,n,p,a)

Pohranimo upisane naredbe i vratimo se u radni prostor. Ilustrirajmo primjenu opisanih
algoritama na primjerima.

Primjer 1. Vratimo se na Primjer 5.1.1. U tome je primjeru sluajan pokus odreivanje
ispravnosti zapisa koji ima tono dva ishoda: ''zapis je toan'' i ''zapis je pogrean'', pa je rije
o Bernoullijevu pokusu. Provjerimo postoji li binomna razdioba koja dobro opisuje ove
sluajne pokuse.

U radnomu prostoru utipkajmo redom:

x = [3, 5, 2, 2, 5, 7, 6, 3, 1, 4, 8, 0, 0, 3, 6, 2, 5, 3, 0,
1, 6, 4, 4, 7, 2, 1, 6, 0, 3, 5];
bpr

i dobit emo:

??? Error using ==> bpr
Trazena binomna razdioba ne postoji!

Dakle, ne postoji binomna razdioba koja bi dobro opisivala ove sluajne pokuse (varijanca je
vea od artimetike sredine).

Primjer 2. U tvornici elektrinih arulja ''aruljica'' arulje se proizvode na pokretnoj traci.
U pravilnim vremenskim razmacima obavlja se provjera proizvodnje tako da se sluajno
izabere ukupno 8 arulja i ispita koliko je od njih neispravnih. Rezultati velikoga broja
ispitivanja dani su u donjoj tablici.


ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 100


Broj ''kartova'' Apsolutna frekvencija
0 95
1 238
2 322
3 288
4 121
5 81
6 32
7 16
8 4

a) Provjerimo jesu li gornji podaci rasporeeni prema binomnoj razdiobi i, ako jesu,
prilagodimo binomnu razdiobu tim podacima.

b) Izraunajmo vjerojatnost da e u jednoj seriji arulja biti najvie 3 neispravne arulje
rabei klasinu, odnosno statistiku definiciju vjerojatnosti.

c) Izraunajmo vjerojatnost da e u jednoj seriji arulja biti barem 6 neispravnih arulja rabei
klasinu, odnosno statistiku definiciju vjerojatnosti.

a) U ovome je primjeru sluajan pokus ispitivanje ispravnosti arulje koji ima tono dva
mogua ishoda (''ispravna'' i ''neispravna''). Rije je, dakle, o Bernoullijevu pokusu, pa postoji
mogunost da su podaci rasporeeni prema binomnoj razdiobi. Kako su oni ve grupirani,
matrice a i f morat emo unijeti ''runo''. U radnom prostoru utipkamo:

a=0:8;
f=[95 238 322 288 121 81 32 16 4];

pa pokrenemo datoteku bprg.m:

bprg

Dobijemo:

n =

99

p =

0.02495327289389

ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 101


a =

0 1 2 3 4 5 6 7 8


f =

95 238 322 288 121 81 32 16 4


ft =

98 249 312 258 158 77 31 10 3

Kvalitetu opisa rezultata pomou binomne razdiobe provjerimo utipkavajui

plot(a,f,a,ft,'')

pa dobijemo sljedeu sliku:

0 1 2 3 4 5 6 7 8
0
50
100
150
200
250
300
350


(Plava crta je poligon empirijskih frekvencija, a zelena iscrtkana crta poligon teorijskih
frekvencija.)

ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 102


b) Dogaaj ''u jednoj seriji ima najvie 3 neispravne arulje'' disjunktna je unija sljedeih
etiriju dogaaja: ''u jednoj seriji nema neispravnih arulja'', ''u jednoj seriji je tono jedna
neispravna arulja'', ''u jednoj seriji su tono dvije neispravne arulje'' i ''u jednoj seriji su
tono tri neispravne arulje''. Vjerojatnosti tih dogaaja su redom P(B = 0), P(B = 1),
P(B = 2) i P(B = 3), pa je

P(B 3) = P(B = 0) + P(B = 1) + P(B = 2) + P(B = 3).

Napomena: Za diskretne razdiobe X openito vrijedi sljedea formula:

=
= =
k
i
i X P k X P
1
) ( ) (

Da ne bismo morali zasebno raunati etiri vjerojatnosti, kreirajmo obinu mdatoteku
najvise3.m u kojoj emo izraunati tu vjerojatnost koristei forpetlju. Otvorimo novu m
datoteku pa u nju utipkajmo:

p3=0;
for i=0:3
p3=p3+nchoosek(n,i)*p^i*(1-p)^(n-i);
end
p3

Pohranimo unesene naredbe i vratimo se u radni prostor. U novi redak utipkajmo:

najvise3

i dobit emo traenu vjerojatnost:

p3 =

0.76533399606566

Sad istu vjerojatnost izraunajmo rabei statistiku definiciju vjerojatnosti. Primijetite da je
p3 zapravo kumulativna relativna frekvencija modaliteta 3. Stoga je:

p3 = 043442. 0.78780284
1197
943
4 16 32 81 121 288 322 238 95
288 322 238 95
= =
+ + + + + + + +
+ + +



ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 103


c) Dogaaj ''u jednoj seriji ima barem 6 neispravnih arulja'' disjunktna je unija sljedeih triju
dogaaja: ''u jednoj seriji ima tono 6 neispravnih arulja'', ''u jednoj seriji ima tono 7
neispravnih arulja'' i ''u jednoj seriji ima tono 8 neispravnih arulja''. Vjerojatnosti tih
dogaaja su redom P(B = 6), P(B = 7) i P(B = 8). Stoga je

P(B 6) = P(B = 6) + P(B = 7) + P(B = 8).

Napomena: Za diskretne razdiobe openito vrijedi sljedea formula:

=
= =
n
k i
i X P k X P ) ( ) (

Slino kao u prethodnom zadatku, kreirajmo obinu mdatoteku barem6.m u kojoj emo
izraunati traenu vjerojatnost rabei for petlju. Otvorimo novu mdatoteku pa u nju
utipkajmo:

p6=0;
for i=6:n
p6=p6+nchoosek(n,i)*p^i*(1-p)^(n-i);
end
p6

Pohranimo unesene naredbe i vratimo se u radni prostor. U novi redak utipkajmo:

barem6

i dobit emo traenu vjerojatnost:

p6 =

0.03800901472271

(Uoite da nas je MATLAB viekratno upozorio da rezultat moe biti nedovoljno precizan
zbog uporabe funkcije nchoosek!)

Rabimo li statistiku definiciju vjerojatnosti, dobit emo:

p6 = 817878. 0.04344193
1197
52
4 16 32 81 121 288 322 238 95
4 16 32
= =
+ + + + + + + +
+ +



ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 104


Primjer 3. Radi poveanja kakvoe proizvodnje keksa u tvornici ''Keksi'', kontrolor
proizvodnje uzeo je ukupno 50 uzoraka od po 10 kutija keksa i biljeio koliko je kutija s
keksima nedovoljne kakvoe u svakom uzorku. Dobio je sljedee podatke:

0,1,4,2,3,0,5,4,1,3,2,0,4,2,3,7,2,1,3,4,3,2,6,2,5,3,1,4,3,2,5,3,1,4,3,6,2,4,1,5,3,2,4,1,3,2,5,4,3,1

a) Provjerimo jesu li gornji podaci rasporeeni prema binomnoj razdiobi i, ako jesu,
prilagodimo binomnu razdiobu tim podacima.

b) Izraunajmo vjerojatnost da je u jednomu uzorku bilo tono 5 kutija keksa nedovoljne
kakvoe rabei klasinu, odnosno statistiku definiciju vjerojatnosti.

c) Izraunajmo vjerojatnost da u jednomu uzorku postoji barem jedna kutija keksa nedovoljne
kakvoe rabei klasinu, odnosno statistiku definiciju vjerojatnosti.

U ovome nam primjeru podaci nisu grupirani pa emo a) zadatak rijeiti rabei mdatoteku
bpr.m.

a) Utipkajmo:

x=[0,1,4,2,3,0,5,4,1,3,2,0,4,2,3,7,2,1,3,4,3,2,6,2,5,3,1,4,3,2
,5,3,1,4,3,6,2,4,1,5,3,2,4,1,3,2,5,4,3,1];
bpr

pa e MATLAB ispisati

n =

41


p =

0.06972789115646


a =

0 1 2 3 4 5 6 7


f =

3 8 10 12 9 5 2 1


ft =

3 8 12 12 8 5 2 1

ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 105


Vidimo da su podaci rasporeeni prema binomnoj razdiobi B(41, 0.06972789115646).
Utipkajmo nadalje:

plot(a,f,a,ft,'')

i dobit emo sljedeu sliku:
0 1 2 3 4 5 6 7
0
2
4
6
8
10
12

b) U ovome se zadatku trai vjerojatnost P(B = 5). Izraunajmo je najprije koristei klasinu
definiciju vjerojatnosti. U formulu

P(B = k) =
k n k
p p
k
n

|
|

\
|
) 1 (

samo treba uvrstiti k = 5, n = 41, p = 0.06972789115646. U novomu retku radnoga prostora
utipkajmo

p5=nchoosek(n,5)*p^5*(1-p)^(n-5)

ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 106


(Sjetite se da varijable n i p ve imaju eljene vrijednosti dobivene izvrenjem naredbi
zapisanih u mdatoteci bpr.m!) pa e MATLAB ispisati:

p5 =

0.09155987523158

Raunamo li istu vjerojatnost rabei statistiku definiciju vjerojatnosti, dobit emo:
p5 = 1 . 0
50
5
= .

c) Dogaaj ''u jednomu uzorku postoji barem jedna kutija keksa nedovoljne kakvoe'' jednak
je disjunktnoj uniji sljedeih dogaaja ''u jednomu uzorku postoji tono jedna kutija keksa
nedovoljne kakvoe'', ''u jednom uzorku postoje tono dvije kutije keksa nedovoljne
kakvoe'', ''u jednom uzorku postoji tono deset kutija keksa nedovoljne kakvoe'' (ne
moramo ii do n = 41 jer jedan uzorak sadri tono 10 kutija, pa su vjerojatnosti da e u
uzorku biti 11, 12, , 39, 40, 41 kutija keksa nedovoljne kakvoe jednake 0). Stoga bismo
mogli primijeniti formulu iz Primjera 2.c) i pomou for petlje izraunati traenu
vjerojatnost. No, moemo postupiti bre i bolje. Zadanom dogaaju suprotan dogaaj jest ''u
jednomu uzorku nema niti jedna kutija keksa nedovoljne kakvoe'', a njegova je vjerojatnost
P(B = 0). Zbog toga vrijedi:

P(B 1) + P(B = 0) = 1,

otkuda je

P(B 1) = 1 P(B = 0).

Vjerojatnost P(B = 0) jednaka je (1 p)
41
(openito, za svaku diskretnu razdiobu X vrijedi
P(X = 0) = (1 p)
n
) pa utipkajmo:

p0 = (1-p)^41

i dobit emo:

p0 =

0.05164282728793

Rabimo li statistiku definiciju vjerojatnosti, dobit emo:


ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 107


p0 = 06 . 0
50
3
= .


6.1.2. Poissonova razdioba


Za razliku od binomne razdiobe ija je slika uvijek konaan skup, slika Poissonove razdiobe
moe biti i prebrojiv skup. Budui da prebrojiv znai da postoji bijekcija izmeu toga skupa i
skupa prirodnih brojeva N, uvijek se uzima da je slika Poissonove razdiobe podskup skupa N
bez obzira to stvarna slika te razdiobe moda sadrava i negativne cijele brojeve.

Osnovni parametar Poissonove razdiobe jest strogo pozitivan realan broj > 0. Upravo je on
''detektor'' jesu li neki podaci rasporeeni prema Poissonovoj razdiobi ili nisu. Naime, moe se
pokazati da su i oekivanje i varijanca Poissonove razdiobe jednaki upravo . Kad utvrdimo
da su podaci rasporeeni prema Poissonovoj razdiobi, onda analogno kao i kod binomne
razdiobe za svaki k N {0} odreujemo vjerojatnost P(PO = k), gdje je s PO oznaena
Poissonova sluajna varijabla (tj. sluajna varijabla distribuirana prema Poissonovoj razdiobi).
Vrijedi sljedea formula:

P(PO = k) =


e
k
k
!
.

Poissonova razdioba ponekad se naziva i zakon malih brojeva, a rabi se kod tzv. ''rijetkih
procesa'', kao to su npr.

prometne nesree na odreenoj dionici autoceste u jednome danu;
telefonski pozivi centrali u jednoj minuti;
broj otkazivanja konica automobila tijekom njegova ''radnoga vijeka'';
broj tiskarskih greaka na jednoj stranici neke knjige;
defekti po jedinici duljine bakrene ice;
broj estica kozmikog zraenja detektiranih u sekundi;
broj oboljelih stabala po aru ume itd.

Takoer, valja napomenuti da za velike vrijednosti parametra n, a vrlo male vrijednosti
parametra p binomna razdioba ''prelazi'' u Poissonovu s parametrom = n p. Drugim
rijeima, u takvim sluajevima Poissonova razdioba vrlo dobro ''zamjenjuje'' (aproksimira)
binomnu.


ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 108


I ovdje emo promatrati problem prilagodbe Poissonove razdiobe empirijskim podacima. U
prvi se mah taj zadatak moe initi ''nemoguom misijom'' jer se postavlja uvjet da
aritmetika sredina i varijanca moraju biti jednake, to je u praksi gotovo nemogue. No, mi
elimo priblino opisati razdiobu empirijskih podataka pomou Poissonove razdiobe pa
neemo zahtijevati da aritmetika sredina i varijanca budu jednake. Kvaliteta opisa bit e nam
apsolutna vrijednost razlike artimetike sredine i varijance. Ako je ta vrijednost velika, opis
pomou Poissonove razdiobe bit e relativno lo. Ako je ta vrijednost mala, opis pomou
Poissonove razdiobe bit e relativno dobar. Naravno, kvalitetu emo uvijek provjeravati i
vizualno crtajui poligone empirijskih, odnosno teorijskih frekvencija na istoj slici.

Osnovni algoritam za spomenutu prilagodbu jest sljedei:

Korak 1. Izraunamo aritmetiku sredinu sv zadanih (empirijskih) podataka, te njihov ukupan
broj N.

Korak 2. Definiramo parametar s := sv.

Korak 3. Odredimo teorijske frekvencije iz jednakosti

ft
k
= N P(PO = k)

Opisani algoritam implementiran je u MATLAB-u kao funkcijska mdatoteka poissonova.m,
a pretpostavlja da su podaci ve grupirani. Sadraj te datoteke je sljedei:

function ft = poissonova(a,f)
N=sum(f);
sv=a*f'/N;
lambda=sv;
for i=1:size(f,2)
ft(i)=round(N*(sv^(a(i)))*exp(-sv)/faktorijel(a(i)));
end
lambda
a
f

Ukoliko imamo negrupirane podatke, najprije ih moramo grupirati pomou funkcije af u
radnomu prostoru, a potom pozvati spomenutu funkciju poissonova. Ilustrirajmo to na
primjerima.


ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 109


Primjer 4. Radi poboljanja kvalitete svojih usluga upravnik banke ''Drpbank'' proveo je
brojanje stranaka koje tijekom jednoga sata obave uplatu ili isplatu na jednom alteru te
banke. Dobiveni podaci navedeni su u donjoj tablici.

Broj stranaka po satu Apsolutna frekvencija
0 1
1 4
2 8
3 12
4 15
5 17
6 13
7 9
8 5
9 4
10 2
11 1

a) Provjerimo jesu li gornji podaci rasporeeni prema Poissonovoj razdiobi i, ako jesu,
prilagodimo Poissonovu razdiobu dobivenim podacima.

b) Izraunajmo vjerojatnost da u jednome satu ne bude uslueno manje od etiri klijenta
rabei klasinu, odnosno statistiku definiciju vjerojatnosti.

c) Izraunajmo vjerojatnost da u jednome satu broj klijenata bude djeljiv sa 3 rabei klasinu,
odnosno statistku definiciju vjerojatnosti.

Ovdje je oito rije o ''rijetkom'' procesu pa je mogue da e Poissonova razdioba dobro
opisati razdiobu dobivenih podataka. Utipkajmo najprije:

a=0:13;
f=[1 4 8 12 15 17 13 9 5 4 2 1];

Koristei mdatoteku grupirani.m koju smo stvorili u 5. poglavlju izraunat emo vrijednosti
aritmetike sredine i varijance, pa ako su one priblino jednake, Poissonova e razdioba dobro
opisati razdiobu dobivenih podataka. Utipkajmo:

[sv,v,sd,k]=grupirani(a,f)

pa e MATLAB ispisati:


ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 110


sv =

4.93406593406593


v =

5.13850984180654


d =

2.26682814562696


k =

45.94239671537928


Razlika izmeu aritmetike sredine i varijance iznosi priblino 0.2 pa moemo oekivati
dobar opis pomou Poissonove razdiobe. Utipkajmo:

ft = poissonova(a,f)

i dobit emo:

lambda =

4.93406593406593


a =

0 1 2 3 4 5 6 7 8 9 10 11


f =

1 4 8 12 15 17 13 9 5 4 2 1


ft =

1 3 8 13 16 16 13 9 6 3 2 1

ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 111


Provjerimo kvalitetu dobivene prilagodbe i grafiki utipkavajui:

plot(a,f,a,ft,'')

Dobit emo sljedeu sliku:
0 2 4 6 8 10 12
0
2
4
6
8
10
12
14
16
18

b) Dogaaj ''u jednome satu nije uslueno manje od etiri klijenta'' jednak je dogaaju ''u
jednome su satu usluena barem etiri klijenta'', pa je

P(PO 4) =

=
=
11
4
) (
k
k PO P .

No, ovdje nam je ponovno lake i bre izraunati vjerojatnost zadanom dogaaju
suprotnoga dogaaja. To je dogaaj ''u jednome je satu uslueno manje od etiri klijenta'', a taj
je jednak dogaaju ''u jednome je satu uslueno najvie troje klijenata''. Prema tome je

P(PO 4) + P(PO 3) = 1,

ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 112


otkuda je

P(PO 4) = 1 P(PO 3),

odnosno

P(PO 4) = 1

=
=
3
0
) (
k
k PO P .

Krae oznaimo:

p4 := P(PO 4).

Izraunajmo najprije p4 rabei klasinu definiciju vjerojatnosti. U tu emo svrhu iskoristiti
MATLAB i u obinoj mdatoteci p4.m koristei for petlju izraunati eljenu vrijednost.
Otvorimo novu mdatoteku pa u nju utipkajmo:

p4=0;
lambda=4.93406593406593;
for i=0:3
p4=p4+(lambda^i)*exp(-lambda)/faktorijel(i);
end
p4=1-p4

Pohranimo upisane naredbe i vratimo se u radni prostor. U novi red utipkajmo:

p4

i MATLAB e ispisati:

p4 =

0.72559635961475

Izraunajmo sada istu veliinu rabei statistiku definiciju vjerojatnosti. Uoimo da je zbroj
na desnoj strani odredbenoga izraza za p4 zapravo kumulativna relativna frekvencija
modaliteta 3. Stoga je:

p4 = 1 = = =
+ + + + + + + + + + +
+ + +
91
66
91
25
1
1 2 4 5 9 13 17 15 12 8 4 1
12 8 4 1
0.72527472527473.

ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 113


c) Dogaaj ''broj usluenih klijenata u jednome satu djeljiv je sa 3'' je disjunktna unija
sljedeih dogaaja: ''u jednome satu nema usluenih klijenata'', ''u jednome satu uslueno je
tono troje klijenata'', ''u jednome satu uslueno je tono est klijenata'' i ''u jednome satu
uslueno je tono devet klijenata''. Oznaimo li traenu vjerojatnost sa p3, vrijedi:

p3 =

=
=
3
0
) 3 (
k
k PO P .

Izraunajmo najprije traenu vjerojatnost rabei klasinu definiciju vjerojatnosti. U tu emo
svrhu ponovno uporabiti MATLAB i u obinoj mdatoteci p3.m izraunati traenu
vjerojatnost. Otvorimo novu mdatoteku pa u nju utipkajmo:

p3=0;
lambda=4.93406593406593;
for i=0:3:9
p3=p3+(lambda^i)*exp(-lambda)/faktorijel(i);
end
p3

Pohranimo upisane naredbe i vratimo se u radni prostor. Utipkajmo:

p3

i dobit emo:

p3 =

0.32989099176964

Sada istu vjerojatnost izraunajmo rabei statistiku definiciju vjerojatnosti. Iskoristimo
podatak o ukupnome broju sati u kojima je vreno promatranje dobiven u b) zadatku (taj je
broj jednak 91):

p3 = = =
+ + +
91
30
91
4 13 12 1
0.32967032967033.







ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 114


6.2. Razdiobe kontinuiranih sluajnih varijabli


Postoji vie vrsta razdioba kontinuiranih sluajnih varijabli, ali najznaajnija i najrabljenija je
normalna ili Gaussova razdioba.


6.2.1. Normalna ili Gaussova razdioba


Normalna ili Gaussova razdioba objanjava najvei broj statistikih opaanja, kao to su npr.
razdioba visina odraslih ljudi, razdioba rezultata mjerenja fizikalnih veliina itd. Kao
objanjenje Gaussove prirode razdiobe ljudskih visina pomislite na mnotvo genetskih
utjecaja i utjecaja okolia na neiju visinu. Neki utjecaji imaju jae djelovanje od drugih, dok
neki djeluju udrueno, a ne nezavisno. Pokazuje se da ukoliko je broj raznih imbenika jako
velik, Gaussova krivulja dobro opisuje takvu razdiobu.
Normalnu razdiobu obino zapisujemo u sljedeem obliku:

( )
2
2
2
1
( )
2
x
f x e

=

.

Pritom su realni brojevi (itajte: mi) i
2
(itajte: sigma na kvadrat) parametri normalne
razdiobe. Te oznake nisu sluajne jer se moe pokazati da je oekivanje, a
2
varijanca
normalne razdiobe. Svaku sluajnu varijablu koja ima normalnu razdiobu nazivamo normalna
sluajna varijabla i oznaavamo:

X ~ N(,
2
).

Posebno, za = 0 i
2
= 1 dobivamo jedininu normalnu razdiobu.

Budui da pripada kontinuiranim sluajnim varijalama, slika normalne sluajne varijable
uvijek je neprebrojiv podskup skupa R. Kako su jedini takvi podskupovi u R otvoreni,
poluotvoreni i zatvoreni intervali, to se ovakva razdioba rabi kada su empirijski podaci
grupirani u razrede. To je ujedno i kriterij po kojemu ete znati je li u nekom zadatku
primjereno rabiti normalnu razdiobu ili nije.

Algoritam za prilagodbu normalne razdiobe empirijskim podacima je sljedei:


ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 115


Korak 1. Zadamo matrino donje granice razreda, gornje granice razreda, irine razreda
(poeljno je, ali ne i nuno da svi razredi imaju istu irinu), razredne sredine i apsolutne
frekvencije razreda.

Korak 2. Izraunamo ukupan broj podataka (N), aritmetiku sredinu (sv), varijancu (v) i
standardnu devijaciju (sd) iz grupiranih podataka.

Korak 3. Aritmetiku sredinu sv interpretiramo kao oekivanje , varijancu v kao varijancu

2
, a standardnu devijaciju sd kao standardnu devijaciju

normalne razdiobe.

Korak 4. Teorijske apsolutne frekvencije ft
k
razreda [a, b> raunamo prema formuli:

(

\
|
|

\
|
=

a b
N ft
k


gdje je

2 1
2
1
( )
2
x
t
x e dt




funkcija gustoe normalne razdiobe.

U prvi mah se moemo panino uhvatiti za glavu jer nemamo pojma kako izraunati nepravi
integral u definiciji funkcije (x), ak ni kada x zamijenimo nekim konkretnim brojem. No,
nema potrebe za paniarenjem kada imamo MATLAB. (U davna stara vremena kada ljudi jo
nisu znali za MATLAB vrijednosti funkcije (x) raunale su se pomou tablica nalik na
logaritamske.) Implementacija opisanoga algoritma u MATLAB-u je sljedea:

Korak 1. Zadamo irinu razreda c, matricu donjih granica dg, matricu gornjih granica gg,
matricu razrednih sredina s kao poluzbroj ) (
2
1
gg dg + , te matricu apsolutnih frekvencija f .

Korak 2. Izraunamo ukupan zbroj svih apsolutnih frekvencija utipkavajui

N = sum(f);

Korak 3. U radnomu prostoru utipkamo

grupirani(s,f)


ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 116


i dobijemo vrijednosti sv, d i sd. (Vrijednost kv nam ne treba.)

Korak 4. Kreiramo jednorednu matricu teorijskih frekvencija ft utipkavanjem naredbe:
ft=round(N*0.5*(erf((gg-sv)/(sd*sqrt(2)))-erf((dg-sv)/(sd*sqrt(2)))))

Ovdje je erf MATLAB-ova tzv. funkcija pogreke (engl. error function) definirana s


=
x
t
dt e x erf
0
2

2
) (

Moe se pokazati da za sve realne brojeve a i b vrijedi formula:

(b) (a) =
(

\
|
|

\
|
2 2
2
1 a
erf
b
erf

i to smo upravo zapisali u Koraku 4.

Pogledajmo na primjerima kako prilagoditi normalnu razdiobu empirijskim podacima.

Primjer 1. Mjerenjem visina uenika srednje kole ''Mirko S. Zlikovski'' iz Donje pikovine
ustanovljeno je da su one u rasponu od 160 cm do 200 cm. Podaci su grupirani u ukupno 10
razreda i prikazani tablino.

Razred Apsolutna frekvencija
160-165 2
165-170 15
170-175 26
175-180 45
180-185 42
185-190 30
190-195 17
195-200 3

Prilagodimo normalnu razdiobu navedenim podacima.

Zadatak emo rijeiti opisanim algoritmom u MATLAB-u. U radnomu prostoru utipkavamo:




ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 117


dg=160:5:195;
gg=165:5:200;
s=(dg+gg)/2;
f=[2 15 26 45 42 30 17 3];
N=sum(f);
[sv,v,sd,kv]=grupirani(s,f);
ft=round(N*0.5*(erf((gg-sv)/(sd*sqrt(2)))-erf((dg-sv)/(sd*sqrt(2)))))

i MATLAB e ispisati:

ft =

3 11 28 44 45 30 13 4

Provjera pomou naredbe plot
plot(s,f,s,ft,'--')

daje sljedeu sliku:
160 165 170 175 180 185 190 195 200
0
5
10
15
20
25
30
35
40
45


ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 118


Primjer 2. Prilagodimo normalnu razdiobu za podatke o masama purana iz Primjera 5.2.1.
Najmanja masa purana je 4.90, a najvea 8.65, a u primjeru smo ve izraunali da je irina
svakoga razreda c = 0.75. Zato utipkavamo:

dg=4.90:0.75:(8.65-0.75);
gg=(4.90+0.75):0.75:8.65;
s=(dg+gg)/2;
f=[5 7 7 6 5];
N=sum(f);
[sv,v,sd,d]=grupirani(s,f);
ft=round(N*0.5*(erf((gg-sv)/(sd*sqrt(2)))-erf((dg-sv)/(sd*sqrt(2)))))

pa e MATLAB ispisati:

ft =

3 7 9 7 3

Provjera pomou naredbe plot

plot(s,f,s,ft,'--')

daje sljedeu sliku:

5 5.5 6 6.5 7 7.5 8 8.5
3
4
5
6
7
8
9


Ovolika se nepreciznost pojavila zbog relativno maloga broja ukupnih podataka. Za veu
tonost trebali bismo imati znatno vie dobivenih podataka.

ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 119


6.3. Zadaci za vjebu


1. Kreirajte funkcijsku mdatoteku genbinomna.m koja e sadravati samo funkciju
genbinomna ije su ulazne varijable prirodni brojevi N i n, te realan broj p [0,1], a izlazna
varijabla matrica apsolutnih frekvencija rasporeenih prema binomnoj razdiobi B(n, p) iji je
zbroj jednak N. (Funkcija ne treba provjeravati jesu li N i n prirodni brojevi, te je li p [0,1].)

2. Kreirajte funkcijsku mdatoteku genpoissonova.m koja e sadravati samo funkciju
genpoissonova ije su ulazne varijable nenegativan realan broj a i prirodni brojevi n i N, a
izlazna varijabla matrica apsolutnih frekvencija modaliteta 0, 1, , n rasporeenih prema
Poissonovoj razdiobi PO(a) iji je zbroj jednak N. (Funkcija ne treba provjeravati je li a 0 i
jesu li n, N N.)

3. Vrei korekturu ''Velike djeje enciklopedije'' korektor je 70 puta sluajno izabrao uzorak
od po 10 stranica te enciklopedije i biljeio ukupan broj otkrivenih tiskarskih greaka.
Dobiveni podaci prikazani su u tablici na sljedeoj stranici.

a) Odredite i interpretirajte apsolutnu, relativnu, kumulativnu apsolutnu i kumulativnu
relativnu frekvenciju modaliteta 5.

Broj greaka Apsolutna frekvencija
0 6
1 15
2 18
3 15
4 9
5 4
6 2
7 1

b) Izraunajte prosjean broj tiskarskih greaka u jednom uzorku, te odgovarajui pokazatelj
rasprenost frekvencija greaka oko toga broja.

c) Izraunajte prosjean broj tiskarskih greaka po jednoj stranici enciklopedije.

d) Odredite prilagoenu razdiobu koja najbolje opisuje dobivene podatke. Navedite njezine
parametre i interpretirajte svaki od njih. Izraunajte pripadne teorijske frekvencije i
interpretirajte jednu od njih.


ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 120


e) Izraunajte vjerojatnost da e broj greaka u jednom uzorku biti prost broj rabei klasinu,
odnosno statistiku definiciju vjerojatnosti.

f) Izraunajte vjerojatnost da u jednom uzorku nema vie od 4 greke rabei klasinu,
odnosno statistiku definiciju vjerojatnosti.

4. U skladitu tvornice raunala ''Macrohard'' nalazi se 100 000 gotovih ipova za raunala.
elei procijeniti postotak ''kartova'' meu njima, kontrolor je ukupno 100 puta uzimao
uzorke od po 20 komada ipova i biljeio ukupan broj neispravnih ipova po uzorku.
Dobiveni podaci prikazani su u donjoj tablici.

Broj neispravnih ipova Apsolutna frekvencija
0 14
1 25
2 27
3 23
4 7
5 3
6 1

a) Odredite i interpretirajte apsolutnu, relativnu, kumulativnu apsolutnu i kumulativnu
relativnu frekvenciju modaliteta 1.

b) Izraunajte prosjean broj neispravnih ipova u jednom uzorku, te odgovarajui pokazatelj
rasprenosti frekvencija greaka oko toga broja.

c) Odredite prilagoenu razdiobu koja najbolje opisuje dobivene podatke. Navedite njezine
parametre i interpretirajte ih. Izraunajte i pripadne teorijske frekvencije, pa interpretirajte
jednu od njih.

d) Izraunajte vjerojatnost da e sluajno odabrani uzorak sadravati manje od 3 neispravna
ipa rabei klasinu, odnosno statistiku definiciju vjerojatnosti.

e) Izraunajte vjerojatnost da e u sluajno odabranom uzorku biti vie od 4 neispravna ipa
rabei klasinu, odnosno statistiku definiciju vjerojatnosti.

5. elei utvrditi razloge katastrofalne igre svojih igraa trener nogometnoga kluba NK
''Stativa'' iz Mua odluio je provjeriti njihovu fiziku spremnost mjerei vrijeme za koje e
svaki od njih pretrati 2 km. Dobiveni rezultati prikazani su u donjoj tablici.



ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 121


Vrijeme
(u min.)
Broj
igraa
[5.5, 5.7> 2
[5.7, 5.9> 4
[5.9,6.1> 7
[6.1,6.3> 6
[6.3, 6.5] 3

a) Odredite i interpretirajte apsolutnu frekvenciju razreda [5.5, 5.7>.

b) Izraunajte postotak igraa koji su 2 km uspjeli pretrati za manje od 6 minuta i 6 sekundi.

c) Izraunajte prosjenu brzinu jednoga igraa NK ''Stativa''.

d) Odredite prilagoenu razdiobu koja najbolje opisuje dobivene podatke. Navedite njezine
parametre i interpretirajte ih. Izraunajte i pripadne teorijske frekvencije, pa interpretirajte
jednu od njih.

e) Izraunajte vjerojatnost da je sluajno odabrani igra pretrao zadanu udaljenost za tono 6
minuta rabei klasinu definiciju vjerojatnosti.

f) Izraunajte vjerojatnost da je sluajno odabrani igra pretrao zadanu udaljenost za barem 6
minuta i 6 sekundi.

6. U II. svjetskomu ratu London je bio podijeljen na ukupno 576 sektora koji su gaani
bombama iz zrakoplova. Engleski vojni statistiari biljeili su broj bombi koje su padale na
svaki sektor i grupiranjem rezultata dobili su sljedeu tablicu.

Broj bombi
po sektoru
Broj
sektora
0 229
1 211
2 93
3 35
4 7
5 1

a) Odredite i interpretirajte apsolutnu, relativnu, kumulativnu apsolutnu i kumulativnu
relativnu frekvenciju modaliteta 3.

b) Izraunajte postotak sektora na koje je pala barem jedna bomba.

ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 122


c) Izraunajte prosjean broj bombi po sektoru, te odgovarajui pokazatelj rasprenosti
frekvencija bombi oko toga broja.

d) Odredite prilagoenu razdiobu koja najbolje opisuje dobivene podatke. Navedite i
interpretirajte sve parametre te razdiobe. Izraunajte i pripadne teorijske frekvencije, pa
interpretirajte jednu od njih.

e) Izraunajte vjerojatnost da je sluajno odabrani sektor pogoen s najvie tri bombe rabei
klasinu, odnosno statistiku definiciju vjerojatnosti.

f) Izraunajte vjerojatnost da broj bombi koje su pogodile sluajno odabrani sektor nije prost
broj rabei klasinu, odnosno statistiku definiciju vjerojatnosti.






























ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 123


7. NUMERIKA MATEMATIKA U MATLAB-u


7.1. Numeriko rjeavanje nelinearnih jednadbi s jednom
nepoznanicom


U ovoj emo se toki pozabaviti problemom odreivanja priblinoga rjeenja neke nelinearne
jednadbe s jednom nepoznanicom. Formule po kojima se moe tono odrediti rjeenje neke
algebarske jednadbe postoje samo za jednadbe 2., 3. i 4. stupnja to su megapoznata i
sveope popularna formula za raunanje rjeenja kvadratne jednadbe, Cardanova formula (za
algebarsku jednadbu 3. stupnja), te Ferrarijeva formula (za algebarsku jednadbu 4. stupnja).
U matematici poznati Abelov teorem kazuje da za algebarske jednadbe stupnja barem 5
takve formule ne postoje. Stoga je najprije bilo u interesu nai algoritme za priblino
rjeavanje takvih jednadbi, a potom se problem poopio i na znatno veu klasu jednadbi,
tzv. nelinearne jednadbe. Openito, nelinearna jednadba je svaka jednadba oblika

f(x) = 0

gdje je f(x) bilo koja realna funkcija koja se ne moe zapisati u obliku f(x) = ax + b. Kako bi
se i takve jednadbe uspjeno mogle (priblino) rijeiti, matematiari su problem rjeavanja
nelinearne jednadbe sveli na problem prouavanja odreenih svojstava funkcije f(x)
(neprekidnost, derivabilnost itd.). Razvoj numerike matematike omoguio je pojavu brojnih
metoda za odreivanje priblinih rjeenja nelinearne jednadbe, a jedna od najee rabljenih
jest metoda raspolavljanja ili metoda bisekcije.

Osnovna ideja te metode zasniva se na sljedeemu teoremu:

Teorem 1. (Bolzanov teorem) Neka je f realna i na segmentu I = [a, b] neprekidna funkcija.
Ako vrijedi:

(f (a) < 0 i f (b) > 0) ili (f (a) > 0 i f (b) < 0),

tada postoji barem jedan c a, b takav da je f (c) = 0.

Slobodno govorei, taj teorem izrie ono to nam je intuitivno vrlo prihvatljivo: Ako uzmemo
dvije toke s razliitih strana osi Ox (jednu ispod, a drugu iznad te osi) i spojimo ih jednom
''crtom'' (tj. algebarskom krivuljom) ne diui olovku s papira, onda emo pri tom spajanju os
Ox presjei barem jednom.


ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 124


Treba uoiti vrlo snanu pretpostavku toga teorema: da je f funkcija neprekidna na segmentu
I. To znai da teorem ne vrijedi za funkcije koje imaju (barem jedan) prekid na tom segmentu.
Takoer, moe se pokazati da teorem ne vrijedi ukoliko se segment zamijeni otvorenim ili
poluotvorenim intervalom.

Na temelju toga teorema razvijen je sljedei algoritam za priblino odreivanje nultoke bilo
koje neprekidne realne funkcije (na nekom segmentu) s tonou :

Korak 1. Odrediti realne brojeve a i b takve da vrijedi:

(f (a) < 0 i f (b) > 0) ili (f (a) > 0 i f (b) < 0)

Korak 2. Izraunati

) (
2
1
b a c + =

i f(c).

Korak 3. Ako je f(c) = 0, traeno rjeenje je jednako c. Kraj postupka.

Korak 4. Ako je b a , traeno priblino rjeenje je jednako c. Kraj postupka.

Korak 5. Ako je f(a) f(c) > 0, staviti a := c i vratiti se na Korak 2. Ako je f(b) f(c) > 0 ,
staviti b := c i vratiti se na Korak 2.

Upravo opisani algoritam naziva se metoda raspolavljanja ili bisekcije. Moe se pokazati da
uz zadane brojeve a, b i broj raspolavljanja n mora zadovoljavati sljedeu nejednakost:

ln2
ln ) ln(

a b
n .

Kako bismo metodu raspolavljanja mogli rabiti u MATLAB-u, kreirajmo sljedeu funkcijsku
mdatoteku bis.m ije su ulazne varijable donja granica segmenta a, gornja granica segmenta
b i eljeni broj raspolavljanja n:







ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 125


function y=bis(a,b,n)

if f(a)*f(b)>0
error('Pogreka u ulaznim podacima!')
end

for k=1:n
x=(a+b)/2;
if abs(f(x))==0
break
end
if f(x)*f(a)>0
a=x;
else
b=x;
end
end
y=x;

Upiimo gore navedene naredbe u funkcijsku datoteku bis.m i pohranimo je u direktorij
C:\matlabR12\work.

Napomena: Funkcija bis pretpostavlja da je pod imenom f.m u direktoriju
C:\matlabR12\work pohranjena funkcija ije nultoke (u odreenom segmentu) elimo
odrediti. Datoteka se moe ''preraditi'' tako da ta funkcija moe biti pohranjena pod bilo kojim
imenom, ali to ovdje nismo uinili jer za odreivanje nultoaka neke funkcije MATLAB
posjeduje ''svoju'' funkciju fzero. Nju emo upoznati malo kasnije.

Pokaimo primjenu funkcije bis na primjerima.

Primjer 1. Odredimo priblinu vrijednost rjeenja jednadbe

sin x + ln x = 0

s tonou = 0.0001, te odredimo najmanji broj raspolavljanja potrebnih da bi se postigla ta
tonost.

Da bismo mogli primijeniti metodu raspolavljanja, najprije moramo odrediti donju i gornju
granicu segmenta u kojem se nalazi (bar jedno) rjeenje zadane jednadbe. U tu svrhu,
zapiimo jednadbu u obliku

sin x = ln x

pa je rijeimo grafiki. Nacrtajmo grafove funkcija f(x) = sin x i g(x) = ln x rabei MATLAB.
Budui da je funkcija g(x) definirana samo za strogo pozitivne realne brojeve, nema smisla

ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 126


crtati graf funkcije f(x) za x 0. Stoga nacrtajmo grafove tih funkcija na istoj slici, i to u
intervalu [0.1, 7]. U radnom prostoru utipkajmo redom:

x=0.1:0.01:7;
y1=sin(x);
y2=-log(x);
plot(x,y1,x,y2)

pa emo dobiti sljedeu sliku:

0 1 2 3 4 5 6 7
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
2.5


(Plava krivulja je graf funkcije f(x), a zelena funkcije g(x).) Odmah uoavamo da se traena
nultoka nalazi u segmentu [0.1, 1], pa emo uzeti a = 0.1, b = 1. Izraunajmo sada najmanji
broj raspolavljanja potrebnih za postizanje tonosti = 0.0001. Koristimo nejednakost

ln2
ln ) ln(

a b
n .

U novi redak radnoga prostora utipkajmo:

n=round((log(1-0.1)-log(0.0001))/log(2))

pa e MATLAB ispisati:

n =

13

ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 127


Otvorimo novu mdatoteku pa utipkajmo:

function y=f(x);
y=sin(x)+log(x);

Pohranimo unesene naredbe pod imenom f.m i vratimo se u radni prostor. Pozivamo funkciju
bis s ulaznim varijablama 0.1, 1 i 13:

bis(0.1,1,13)

pa e MATLAB ispisati:

ans =

0.57867431640625

Moemo zakljuiti da je x = 0.57867 priblino rjeenje zadane jednadbe (s tonou ). Da se
uvjerimo u to, u novi redak radnoga prostora utipkajmo:

sin(0.57867)+log(0.57867)

pa e MATLAB ispisati:

ans =

-1.119549821093635e-004

Primjer 2. Zadan je polinom p(x) = x
3
+ x
2
+ x + 2. Odredimo sve njegove realne nultoke s
tonou = 0.0001.

Nacrtajmo najprije graf polinoma p(x). Nije teko uoiti da je npr. p(5) < 0, a da je p(5) > 0.
Stoga graf crtamo na segmentu [5, 5]. Utipkajmo:

x=-5:0.01:5;
y=x.^3+x.^2+x+2;
plot(x,y)

pa emo dobiti sljedeu sliku:

ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 128


-5 -4 -3 -2 -1 0 1 2 3 4 5
-150
-100
-50
0
50
100
150
200


Uoavamo da je zadani polinom strogo rastui, a kako mora imati barem jednu realnu
nultoku (jer je neparnoga stupnja), slijedi da ima tono jednu realnu nultoku. Budui da sa
slike ne moemo ba precizno odrediti u kojemu se segmentu ''uem'' od segmenta [5, 5]
nalazi ta nultoka, uzet emo a = 5, b = 5. Izraunajmo najmanji broj raspolavljanja
potrebnih da bi se postigla eljena tonost. Zatvorimo dobivenu sliku, vratimo se u radni
prostor i u njegov novi redak utipkajmo:

n=round((log(5+5)-log(0.0001))/log(2))

MATLAB e ispisati:

n =

17

Ponovno otvorimo mdatoteku f.m pa njezin sadraj preoblikujmo u:

ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 129


function y=f(x);
y=x.^3+x.^2+x+2;

Pohranimo unesene naredbe, vratimo se u radni prostor pa u njegov novi redak utipkajmo:

bis(-5,5,17)

pa e MATLAB ispisati:

ans =

-1.35322570800781

i to je jedina nultoka zadanoga polinoma. Za provjeru, izraunajmo p(1.35322). Utipkamo:

(-1.35322)^3+(-1.35322)^2+(-1.35322)+2

pa e MATLAB ispisati:

ans =

-3.800700624800868e-005

Mada je algoritam metode raspolavljanja u sutini vrlo jednostavan, vidimo da ga je praktino
dosta sloeno primijeniti. Osnovni je problem, dakako, u odreivanju granica segmenta u
kojemu traimo nultoku. Namee se pitanje postoji li neka MATLAB-ova funkcija iji je
ulazni argument jedino realna funkcija f(x), a izlazni argumenti sve realne nultoke te
funkcije. Naalost, u opem je sluaju odgovor na to pitanje nijean, no, ako je f(x) polinom
stupnja n, n N, onda je odgovor potvrdan. U nastavku emo razmotriti i taj problem.

Pozivajui funkciju bis koja odreuje eventualnu nultoku unutar nekoga intervala morali smo
navesti ukupno 4 ulazne varijable: funkciju, donju i gornju granicu intervala, te broj
raspolavljanja. Stvari se donekle mogu pojednostavniti ako se metoda raspolavljanja
kombinira s jo nekim metodama numerike matematike (metoda sekante i metoda inverzne
kvadratine interpolacije). Na osnovi te kombinacije napravljen je algoritam za funkciju fzero.
Ulazne varijable te funkcije su realna funkcija ije nultoke elimo odrediti i poetna
aproksimacija nultoke x
0
. Drugim rijeima, prije poziva te funkcije moramo odrediti neki
realan broj ''blizu'' kojega se nalazi traena nultoka. (Matematika formalizacija svojstva ''biti
blizu'' zahtijeva poznavanje teorije mjere, pa u to ovdje neemo ulaziti.) U tu svrhu ponovno
moramo crtati graf funkcije i pomou njega odrediti traenu aproksimaciju.

Ilustrirajmo primjenu funkcije fzero na primjerima.

ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 130


Primjer 3. Zadana je funkcija f(x) = x
2
sin(2 x). Odredimo sve realne nultoke te funkcije.

Kako smo rekli, najprije moramo nacrtati graf promatrane funkcije. Budui da funkcija sinus
moe poprimiti jedino vrijednosti iz segmenta [-1,1], i vrijednost x
2
ne treba biti vea od 1
(bude li vea, nikako ne moemo dobiti nultoku), to znai da trebamo uzeti x [-1, 1].
(Ako nultoka uope postoji, sigurno se nalazi u tom segmentu.) Stoga u novomu retku
radnoga prostora utipkamo:

x=-1:0.01:1;
y=x.^2-sin(2*x);
plot(x,y)

pa emo dobiti sljedei graf:

-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
-1
-0.5
0
0.5
1
1.5
2

Dakle, vidimo da imamo ukupno dvije nultoke: jedna se nalazi blizu 0, a druga blizu 1. Sad
otvorimo mdatoteku f.m pa utipkamo:


ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 131


function y=f(x);
y=x^2 - sin(2*x);

Pohranimo unesene naredbe i vratimo se u radni prostor. Funkciju fzero pozivamo prema
sljedeoj sintaksi:

fzero(@ime_funkcije, poetna_aproksimacija)

U novomu retku radnoga prostora utipkajmo:

fzero(@f,0)

pa e MATLAB ispisati

ans =

0

To smo donekle mogli i oekivati jer je uistinu f (0) = 0. Odredimo i preostalu nultoku onu
koja se nalazi ''blizu'' 1. U novomu retku radnoga prostora utipkajmo:

fzero(@f,1)

pa e MATLAB ispisati:

ans =

0.96687688141351

Primjer 4. Zadana je funkcija f(x) = ln(x 1) x
2
+ 4. Odredimo sve realne nultoke te
funkcije.

Kao i u prethodnom primjeru, najprije nacrtajmo graf promatrane funkcije. Budui da je
logaritamska funkcija g(x) = ln(x 1) definirana za x 1, + , njezin emo graf nacrtati na
segmentu [1.1, 10]. U novi redak radnoga prostora utipkajmo:

x=1.1:0.01:10;
y=log(x-1)-x.^2+4;
plot(x,y)

pa emo dobiti sljedei graf:


ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 132


1 2 3 4 5 6 7 8 9 10
-100
-80
-60
-40
-20
0
20

Grubo govorei, funkcija je ''uglavnom'' padajua (pokaite to ''klasinim'' nainom rabei
prvu derivaciju!), a za odreivanje njezine nultoke zanima nas njezino ponaanje na
segmentu [1.1, 3]. U novi redak radnoga prostora utipkajmo:

x=1.01:0.01:3;
y=log(x-1)-x.^2+4;
plot(x,y)

pa emo dobiti sljedei graf:


ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 133


1 1.2 1.4 1.6 1.8 2 2.2 2.4 2.6 2.8 3
-5
-4
-3
-2
-1
0
1
2
Sada vidimo da naa funkcija ima dvije nultoke: jednu ''blizu'' 1.2 i jednu ''blizu'' 2. Otvorimo
mdatoteku f.m i utipkajmo:

function y=f(x);
y=log(x-1)-x^2+4;

Pohranimo unesene naredbe i vratimo se u radni prostor. U njegov novi redak utipkajmo:

fzero(@f,1.2)

pa e MATLAB ispisati:

ans =

1.05584398367821

Nakon toga, utipkajmo:

ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 134


fzero(@f,2)

pa e MATLAB ispisati:

ans =

2

i to su jedine dvije nultoke promatrane funkcije.

Napomena: Funkcija fzero dozvoljava da se umjesto poetne aproksimacije unese i segment
u kojemu se nalazi tono jedna nultoka funkcije f(x). Takve primjere ovdje neemo
razmatrati jer se oni sutinski nimalo ne razlikuju od Primjera 1. i 2. koje smo rjeavali
metodom raspolavljanja.

Primjer 5. Zadane su funkcije ) 1 log( ) ( + = x x f i x e x g
x
sin ) ( = . Odredimo sve zajednike
toke njihovih grafova u segmentu [-0.9, 5].

Ovdje nam zadani interval slui jedino kao putokaz na kojemu segmentu trebamo
crtati grafove tih funkcija. Naime, ukoliko se umjesto poetne aproksimacije kao ulazna
varijabla funkcije fzero navede segment, fzero e pretpostaviti da se u tom segmentu nalazi
najvie jedna nultoka promatrane funkcije, to openito ne mora biti tono. Zato moramo
najprije nacrtati grafove zadanih funkcija na zadanom segmentu, a potom pomou dobivenoga
grafa odrediti sve eventualne poetne aproksimacije nultoaka. U novomu retku radnoga
prostora utipkajmo:

x=-0.9:0.01:5;
y1=log10(x+1);
y2=exp(x).*sin(x);
plot(x,y1,x,y2)

pa emo dobiti sljedeu sliku:


ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 135


-1 0 1 2 3 4 5
-160
-140
-120
-100
-80
-60
-40
-20
0
20


Vidimo da se jedna zajednika toka nalazi ''blizu'' 3, no, slika ne daje precizan odgovor ima
li zajednikih toaka u segmentu [-0.9, 0.5]. Zato utipkajmo:


x=-0.9:0.01:0.5;
y1=log10(x+1);
y2=exp(x).*sin(x);
plot(x,y1,x,y2)

pa emo dobiti sljedeu sliku:

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



ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 136


Dakle, postoje ukupno 3 zajednike toke promatranih funkcija. Jedna se nalazi ''blizu'' 0.5,
druga ''blizu'' 0, a trea blizu 3. Za njihovo tono odreivanje koristit emo funkciju fzero.
Budui da ta funkcija ne rjeava jednadbe tipa f(x) = g(x), ve samo jednadbe tipa f(x) = 0,
zapiimo jednakost f(x) = g(x) u obliku

f(x) g(x) = 0,

pa ako stavimo

h(x) = f(x) g(x),

onda vidimo da se zadani problem svodi na odreivanje nultoaka funkcije h(x). U radnomu
prostoru otvorimo mdatoteku h.m i utipkajmo:

function y=h(x);
y=log10(x+1)-exp(x)*sin(x);

Pohranimo upisane naredbe i vratimo se u radni prostor. Odredimo najprije prvu nultoku
funkcije h(x). Utipkajmo:

fzero(@h,-0.5)

pa e MATLAB ispisati:

ans =

-0.48302799677525

Potpuno analogno utipkavanjem

fzero(@f,0)

dobijemo:

ans =

0

a utipkavanjem

fzero(@f,3)


ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 137


dobijemo:

ans =

3.11430884120450

Dakle, traene su toke 0.483028, 0 i 3.114309. (Za posve korektno rjeenje cijeloga zadatka
izraunajte pripadne vrijednosti funkcije f(x) ili g(x) u tim tokama i napiite pripadne ureene
parove.)

Razmotrimo sada poseban sluaj: kada je funkcija f(x) polinom stupnja n. Osnovni teorem
algebre nam kae da svaki polinom (s realnim ili kompleksnim koeficijentima) ima barem
jednu nultoku u skupu C (skupu kompleksnih brojeva). Nadalje, ako na skupu C
n
[x] svih
polinoma stupnja n iji su koeficijenti kompleksni brojevi definiramo preslikavanje
k : C
n
[x] C
n+1
formulom

p(x) = a
n
x
n
+ a
n1
x
n1
+ + a
2
x
2
+ a
1
x + a
0
| (a
n
, a
n1
, , a
2
, a
1
, a
0
)

onda se lako moe provjeriti da je preslikavanje k bijekcija, to znai da polinom moemo
smatrati zadanim ako znamo sve njegove koeficijente od vodeega koeficijenta (a
n
) do
slobodnoga lana (a
0
). Zbog toga ima smisla definirati posebnu funkciju ije e ulazne
varijable biti svi koeficijenti polinoma (zbog bijektivnosti, time zapravo zadajemo polinom), a
izlazne varijable sve (openito, kompleksne) nultoke toga polinoma. I u MATLABU postoji
takva funkcija: to je funkcija roots. Njezina je sintaksa

roots(matrica_koeficijenata_polinoma)

Pogledajmo uporabu te funkcije na primjerima.

Primjer 6. Odredimo sve nultoke polinoma p(x) = x
3
+ x
2
+ x + 1. U novomu retku radnoga
prostora najprije zadajmo na polinom pomou jednoretane matrice p iji su elementi tono
svi koeficijenti polinoma p. Utipkajmo:

p=[1 1 1 1];

Sada moemo pozvati funkciju roots:

roots(p)

pa e MATLAB ispisati:


ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 138


ans =

-1.00000000000000
-0.00000000000000 + 1.00000000000000i
-0.00000000000000 - 1.00000000000000i

Zakljuujemo da su nultoke zadanoga polinoma 1, i i i. (Uoite da je predznak realnoga
dijela isto imaginarnih brojeva i i i negativan, to znai da ti realni dijelovi nisu potpuno
jednaki 0, no, greka aproksimacije je toliko malena da je praktiki zanemariva.)

Primjer 7. Odredimo sve nultoke polinoma p(x) = x
3
x
2
x + 1. Ponovno najprije moramo
zadati matricu p svih koeficijenata polinoma:

p=[1 -1 -1 1];

Sada moemo pozvati funkciju roots:

roots(p)

pa e MATLAB ispisati:

ans =

-1.00000000000000
1.00000000000000 + 0.00000000938807i
1.00000000000000 - 0.00000000938807i

No, rastav zadanoga polinoma na faktore daje:

p(x) = x
3
x
2
x + 1 = x
2
(x 1) (x 1) = (x 1)(x
2
1) = (x 1)(x 1)(x + 1) =
= (x 1)
2
(x + 1)

pa vidimo da zadani polinom ima ukupno tri realne nultoke: jednu dvostruku (to je 1) i jednu
jednostruku (to je 1). Zbog ega nam je onda primjena funkcije roots dala ovako udne
rezultate? Razlog je opet priblini raun. MATLAB ne rauna nultoke zadanoga
polinoma rastavljanjem na faktore, nego primijenjuje neke metode numerike matematike
namijenjene priblinom odreivanju nultoaka polinoma (u detalje ovdje ne ulazimo).
Uporaba tih metoda nuno povlai pojavu greaka aproksimacije nultoaka. Te su greke
ovdje reda veliine 10
9
pa ih praktiki moemo zanemariti.

elimo li izraunati vrijednost nekoga polinoma u nekoj konkretnoj toki, koristimo naredbu
polyval. Njezina je sintaksa:

ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 139


polyval(matrica_koeficijenata_polinoma, konkretna_toka)

Ova je naredba vrlo pogodna prigodom grafikoga prikazivanja polinoma. Pogledajmo to na
primjeru.

Primjer 7. Zadan je polinom p(x) = x
3
x
2
+ x 1. Odredimo sve njegove nultoke,
izraunajmo p(1 i) + p(1 + i), te prikaimo grafiki taj polinom iznad segmenta [3, 3].

Najprije zadajmo polinom definiranjem njegove matrice koeficijenata:

p=[1 -1 1 -1];

Sada moemo odrediti nultoke. Utipkajmo:

roots(p)

i dobit emo:

ans =

1.00000000000000
0.00000000000000 + 1.00000000000000i
0.00000000000000 - 1.00000000000000i

Dakle, nultoke zadanoga polinoma su 1, i i i. Izraunajmo sada p(1 i) + p(1 + i).
Utipkajmo:

polyval(p,1+i)+polyval(p,1-i)

i dobit emo:

ans =

-4

Napokon, nacrtajmo graf zadanoga polinoma iznad segmenta [3, 3]. Utipkajmo:

x=-3:0.01:3;
plot(x,polyval(p,x))

i dobit emo sljedei graf:


ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 140


-3 -2 -1 0 1 2 3
-40
-30
-20
-10
0
10
20

Kako bismo tonije vidjeli odreene vrijednosti, utipkajmo jo i

grid on

pa emo dobiti sljedeu sliku:


ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 141


-3 -2 -1 0 1 2 3
-40
-30
-20
-10
0
10
20

Crtkane linije iskljuujemo utipkavanjem

grid off


7.2. Zadaci za vjebu


1. Metodom raspolavljanja rijeite sljedee jednadbe s tonou = 0.0001:

a) sin x + cos x = 0 na segmentu [0, 2];

b) cos x + ln x = 0;

c) e
x
sin(x + 1) = 0;

d) x
5
x
4
+ x
3
x
2
+ x 1 = 0.

U svakom od sluajeva odredite broj raspolavljanja potreban za postizanje zadane tonosti.

2. Odredite sve zajednike toke funkcija f(x) i g(x) ako je:

a) ;
1
1
) ( ,
) 1 ln(
) (
1
+

x
e
x g
x
x
x f
x



ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 142


b)
2
3

sin
) ( ,
1
1 ) 1 3 log(
) (
+
|

\
|
=
+
+
=
x
x
x g
x
x
x f ;

c) f(x) = ctg x, g(x) = x.

3. Odredite sve realne nultoke sljedeih funkcija:

a) f(x) = x
3
sin(3x);

b) f(x) = x
2
cos(2x);

c) f(x) = x th(x) 1;

d) f(x) = 3
x
3x.

4. Odredite sve nultoke sljedeih polinoma:

a) p(x) = x
4
10x
3
+ 35x
2
50x + 24;

b) p(x) = x
3
2x
2
+ 2x 1;

c) p(x) = x
5
x
3
3x 18;

d) p(x) = x
3
6x
2
+ 9x.

Gdje god je to mogue, provjerite dobivene rezultate grafiki.
5. Zadan je polinom p(x) = x
3
+ x
2
x 1. Odredite sve realne nultoke toga polinoma,
izraunajte p(1 + i) + p(1 i) i prikaite grafiki taj polinom iznad segmenta [3, 3].

6. Zadan je polinom p(x) = x
5
2x
4
+ 3x
2
5x + 3. Odredite sve realne nultoke toga
polinoma, izraunajte p(2i) + p(i) i prikaite grafiki taj polinom iznad segmenta [1, 1].

7. Kreirajte funkcijsku mdatoteku polinom3.m koja sadri jedino funkciju polinom3 ije su
ulazne varijable (ne nuno razliiti) realni brojevi a, b i c, a jedina izlazna varijabla matrica p
iji su elementi tono svi koeficijenti polinoma p(x) kojemu su tono sve nultoke jednake a,
b i c.

8. Kreirajte funkcijsku mdatoteku samorealni.m koja sadri jedino funkciju samorealni ija
je jedina ulazna varijabla matrica p iji su elementi tono svi koeficijenti polinoma p(x), a
izlazna varijabla jednaka 1 ako su sve nultoke polinoma p(x) realne, a 0 inae.

ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 143



9. Kreirajte funkcijsku mdatoteku zopol.m koja sadri jedino funkciju zopol ije su ulazne
varijable matrice p i q iji su elementi tono svi koeficijenti redom polinoma p(x) i q(x), a
izlazne varijable matrice Z i O iji su elementi tono svi koeficijenti redom polinoma
p(x) + q(x) i p(x) q(x).

10. Kreirajte funkcijsku mdatoteku umnozakpol.m koja sadri jedino funkciju umnozakpol
ije su ulazne varijable matrice p i q iji su elementi tono svi koeficijenti redom polinoma
p(x) i q(x), a jedina izlazna varijabla matrica U iji su elementi tono svi koeficijenti polinoma
p(x) q(x).


7.3. Numerika interpolacija


U ovoj toki promatramo sljedei problem:

Problem: Zadano je ukupno n toaka: T
1
(x
1
, y
1
), T
2
(x
2
, y
2
), , T
n
(x
n
, y
n
). Odrediti polinom
p(x) (s realnim koeficijentima) to manjega stupnja takav da njegov graf prolazi svim zadanim
tokama.

Moe se pokazati da ako je zadano ukupno n toaka, onda postoji jedinstveni polinom L(x) s
realnim koeficijentima iji je stupanj najvie jednak n 1 takav da njegov graf prolazi svim
zadanim tokama. Taj je polinom L(x) jedinstveno rjeenje promatranoga problema.
Nazivamo ga Lagrangeov interpolacijski polinom (skraeno: LIP).

Odreivanje LIPa na ''klasian'' nain (pomou formula za odreivanje koeficijenata LIPa)
relativno je sloeno i mukotrpno ve za ''male'' n (npr. n = 4, 5, 6), a za ''velike'' n ono je
praktino nemogue. Zbog toga emo pri odreivanju LIPa rabiti MATLAB. On posjeduje
funkciju polyfit ije su ulazne varijable jednoredne matrice x i y koje sadre redom tono sve
apscise, odnosno ordinate zadanih toaka, te prirodan broj k, a jedina izlazna varijabla matrica
L iji su elementi tono svi koeficijenti polinoma stupnja najvie k (dakle, manjega ili
jednakoga k) koji najbolje opisuje zadani skup toaka u smislu metode najmanjih kvadrata (o
tome emo govoriti neto kasnije). Kako bismo kao rezultat dobili LIP, uzimat emo k = n
1.

Ilustrirajmo primjenu te funkcije na primjeru.

Primjer 1. Odredimo LIP iji graf prolazi tokama T
1
(1, 1), T
2
(2, 2), T
3
(3, 1.5),
T
4
(4, 2.5) i T
5
(5, 4), te ga prikaimo grafiki iznad segmenta [6, 6].


ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 144


Najprije moramo zadati matrice x i y. U novi redak radnoga prostora utipkajmo:

x=[-1 2 -3 -4 5];
y=[1 -2 -1.5 2.5 4];

Sada odredimo matricu L utipkavanjem:

L=polyfit(x,y,4)

(4 smo utipkali zato to za 5 toaka imamo n = 5 i k = n 1 = 4) pa e MATLAB ispisati:

L =

Columns 1 through 4

0.05393518518519 -0.04305555555556 -1.02152777777778 -
0.11898148148148

Column 5

1.80555555555558

Dakle, traeni je polinom

L(x) = 0.05393518518519x
4
0.04305555555556x
3
1.02152777777778x
2

0.11898148148148x + 1.80555555555558.

Njegovi su koeficijenti, ustvari, racionalni brojevi, ali kako MATLAB ne moe raunati s
razlomcima, oni su zapisani u obliku decimalnih brojeva.

Prikaimo dobiveni polinom grafiki. U novomu retku radnoga prostora utipkajmo:

x1=-6:0.01:6;
plot(x,y,'*',x1,polyval(L,x1))

U posljednjoj smo naredbi zapisali da na istoj slici elimo ucrtati i zadane toke (oznaili smo
ih znakom *) i LIP na zadanom segmentu. Dobivamo sljedei graf:


ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 145


Prava primjena LIPa je u aproksimiranju transcedentnih (nealgebarskih) funkcija
polinomima na odreenim segmentima. Ilustrirajmo to na primjerima.

Primjer 2. Aproksimirajmo funkciju f(x) = sin(2x) LIPom u tokama ije su apscise redom
jednake 3, -2, 1, 0, 1, 2 i 3 te ocijenimo apsolutnu greku aproksimacije u tokama x = 0.5
i x = 4. Potom prikaimo grafove funkcije f(x) i dobivenoga LIPa na istoj slici.

Odredimo najprije matricu L iji su elementi tono svi koeficijenti traenoga LIP-a. U novi
redak radnoga prostora utipkajmo:

x=-3:1:3;
y=sin(2*x);
L=polyfit(x,y,6)

pa e MATLAB ispisati:

-6 -4 -2 0 2 4 6
-5
0
5
10
15
20
25
30
35
40
45

ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 146


L =

Columns 1 through 4

0.00000000000000 0.06078568014301 -0.00000000000000 -
0.73316129220826

Columns 5 through 7

0.00000000000000 1.58167303889094 -0.00000000000000

Dakle, traeni je polinom

L(x) = 0.06078568014301x
5
0.73316129220826x
3
+ 1.58167303889094x.

Na prvi pogled moemo pomisliti da smo pogrijeili jer stupanj LIPa nije jednak 7 1 = 6.
No, teorija ne tvrdi da je stupanj LIPa jednak tono n 1, nego najvie jednak n 1, to
znai da njegov stupanj moe biti i strogo manji od n 1. Upravo je to sluaj u ovom
primjeru.

Ocijenimo sada apsolutnu greku aproksimacije u zadanim tokama. Najprije za x = 1
izraunajmo

g
1
= |f(1) L(1)|.

U novi redak radnoga prostora utipkajmo:

g1=abs(sin(2*(-0.5)-polyval(L,-0.5))

pa e MATLAB ispisati:

g1 =

0.14038007438399

Zakljuujemo da je apsolutna pogreka aproksimacije u toki x = 1 priblino jednaka 0.14.
Potpuno analogno, za x = 4 utipkajmo:

g1=abs(sin(2*4)-polyval(L,4)

pa e MATLAB ispisati:


ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 147


g1 =

20.65954767405372

U ovom je sluaju apsolutna greka velika i iznosi gotovo 21, to znai da je aproksimacija
funkcije f(x) LIPom u toki x = 4 katastrofalno loa. Objasnimo zato je to tako. Naime, kada
aproksimiramo neku funkciju LIPom, mi je zapravo aproksimiramo na odreenom
segmentu. Za sve toke iz toga segmenta apsolutna greka aproksimacije jest ''podnoljiva'',
dok je za sve ostale toke apsolutna greka aproksimacije relativno velika. U ovom smo
zadatku zadanu funkciju f(x) = sin(2x) aproksimirali LIPom na segmentu [3, 3]. Toka
x = 0.5 pripada tom segmentu pa je apsolutna greka aproksimacije bila relativno mala. No,
toka x = 4 ne pripada tom segmentu i zato je pripadna apsolutna greka aproksimacije tako
velika.

Pogledajmo kako to izgleda grafiki. U novome retku radnoga prostora utipkajmo:

x1=-3:0.01:3;
plot(x,y,'*',x1,sin(2*x1),x1,polyval(L,x1))

pa emo dobiti sljedeu sliku:

-3 -2 -1 0 1 2 3
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2


ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 148


Primjer 3. Aproksimirajmo funkciju f(x) = e
x
LIP om na segmentu [0.5, 0.5] u tokama
0.5, 0.25, 0, 0.25 i 0.5. Odredimo apsolutne greke aproksimacija u tokama x = 0.1 i x = 1,
te prikaimo grafove funkcija f(x) i LIPa na istoj slici.

Odredimo najprije matricu L iji su elementi tono svi koeficijenti traenoga LIPa. U novi
redak radnoga prostora utipkajmo:

x=[-0.5 -0.25 0 0.25 0.5];
y=exp(x);
L=polyfit(x,y,4)

pa e MATLAB ispisati:

L =

Columns 1 through 4

0.04210273467924 0.16928716669238 0.49997817715571 0.99986881931440

Column 5

1.00000000000000

Dakle, traeni je LIP

L(x) = 0.04210273467924x
4
+ 0.16928716669238x
3
+ 0.49997817715571x
2
+ 0.99986881931440x + 1.

Ocijenimo apsolutne greke aproksimacija u tokama x = 0.1 i x = 1. U novi redak radnoga
prostora utipkajmo:

g1=abs(exp(0.1)-polyval(L,0.1)), g2=abs(exp(1)-polyval(L,1))

pa e MATLAB ispisati:

g1 =

1.075693248986376e-005


g2 =

0.00704493061731


ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 149


U oba sluaja greke su relativno male. Pogledajmo to na grafovima funkcija f(x) i LIPa
prikazanima na istoj slici. U novi redak radnoga prostora utipkajmo:

x1=-0.5:0.01:0.5;
plot(x,y,'*',x1,exp(x1),x1,polyval(L,x1))

pa emo dobiti sljedeu sliku:

-0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5
0.6
0.8
1
1.2
1.4
1.6
1.8
2

Obrazloimo to se dogodilo i zato na dobivenoj slici imamo samo jednu krivulju. Segment
na kojemu smo aproksimirali funkciju f(x) = e
x
je relativno ''uzak'' (duljina toga segmenta je
jednaka 1), pa su na tome segmentu apsolutne greke aproksimacije tako male da ih je
grafiki nemogue primijetiti. Zbog toga se u ovom sluaju grafovi funkcije f(x) i LIPa
''podudaraju'', to moemo vidjeti ako ih prikaemo zasebno:

plot(x1,exp(x1))

daje sliku

ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 150



-0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5
0.6
0.8
1
1.2
1.4
1.6
1.8
2

a

plot(x1, polyval(L,x1))

sliku
-0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5
0.6
0.8
1
1.2
1.4
1.6
1.8
2

Te su dvije slike ''praktiki jednake''. Da je segment na kojemu smo aproksimirali funkciju
f(x) LIPom bio ''vei'', grafovi bi se vie razlikovali.

U praktinim je primjenama (posebice u statistici) vrlo esto potrebno nai polinom 1. ili 2.
stupnja koji relativno dobro opisuje zadani skup toaka. Pritom je ukupan broj zadanih toaka

ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 151


strogo vei od 3 pa se kao rjeenje takvoga problema openito ne moe uzeti LIP. Namee se
pitanje: to uiniti u takvome sluaju? Rjeenje toga problema nalazi se tzv. metodom
najmanjih kvadrata. Grubo govorei, osnovna ideja te metode jest odrediti polinom (openito
razliit od LIPa) takav da zbroj svih udaljenosti zadanih toaka od grafa toga polinoma bude
to manji (idealno: 0, ali u praksi je to vrlo rijedak sluaj). Tako se, npr. u statistikim
regresijskim modelima rabljenima u ekonomiji, nastoji odrediti polinom 1. stupnja takav da
zbroj svih udaljenosti zadanih toaka od pravca (grafa toga polinoma) bude to manji. Mi
emo takve probleme jednostavno i brzo rijeiti rabei MATLAB, tonije njegovu funkciju
polyfit.

Pokaimo to na primjerima.

Primjer 4. Aproksimirajmo funkciju f(x) = cos (2x) na segmentu [-0.5, 0.5] polinomom 1.
stupnja u tokama 0.5, -0.3, -0.1, 0.1, 0.3 i 0.5. Ocijenimo apsolutnu greku aproksimacije u
tokama x = 0 i x = 1, te na istoj slici prikaimo grafiki funkciju f(x) i dobiveni polinom na
tomu segmentu.

Kao i prije, najprije moramo unijeti toke i izraunati pripadajue vrijednosti funkcije f(x) u
tim tokama. U novi redak radnoga prostora utipkajmo:

x=-0.5:0.2:0.5;
y=cos(2*x);

Sada moemo pozvati funkciju polyfit. Matrice x i y upravo smo deklarirali, a za prirodan broj
k (koji je posljednja od triju ulaznih varijabli funkcije polyfit) uzet emo k = 1 jer traimo
polinom 1. stupnja. Utipkajmo:

p=polyfit(x,y,1)

(traeni polinom smo oznaili sa p) pa e MATLAB ispisati:

p =

0.00000000000000 0.78190149953969

Dakle, traeni je polinom

p(x) = 0.78190149953969 (konstantni polinom).

Ocijenimo apsolutne greke aproksimacije u tokama x = 0 i x = 1. U novi redak radnoga
prostora utipkajmo:


ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 152


g1=abs(cos(2*0)-polyval(p,0)),g2=abs(cos(2*1)-polyval(p,1))

pa e MATLAB ispisati:

g1 =

0.21809850046031


g2 =

1.19804833608683

Takve rezultate smo mogli i oekivati jer je x = 0 element segmenta [-0.5, 0.5], a x = 1 nije.
Koliko je naa aproksimacija dobra, moemo provjeriti grafiki. U novi redak radnoga
prostora utipkajmo:

plot(x,y,'*',x1,cos(2*x1),x1,polyval(p,x1))

pa emo dobiti sljedeu sliku:

-0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5
0.5
0.55
0.6
0.65
0.7
0.75
0.8
0.85
0.9
0.95
1


Moemo zakljuiti da je aproksimacija funkcije f(x) = cos(2x) polinomom 1. stupnja na
segmentu [-0.5, 0.5] vrlo loa.

ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 153


Primjer 5. Aproksimirajmo funkciju iz prethodnoga zadatka polinomima 2. i 3. stupnja u
smislu metode najmanjih kvadrata. Kvalitetu aproksimacije provjerimo grafiki.

U ovom primjeru najprije uzimamo k = 2, a potom k = 3. Traeni polinom 2. stupnja oznait
emo s p
2
, a traeni polinom 3. stupnja s p
3
. U novi redak radnoga prostora utipkajmo:

p2=polyfit(x,y,2), p3=polyfit(x,y,3)

pa e MATLAB ispisati:

p2 =

-1.82508071154816 -0.00000000000000 0.99482758255364


p3 =

0.00000000000000 -1.82508071154817 -0.00000000000000
0.99482758255364

Stoga je

p
2
(x) = p
3
(x) = 1.82508071154816 x
2
+ 0.99482758255364.

Primjeujemo da smo u oba sluaja dobili isti polinom, to znai da ne postoji polinom
stupnja tono 3 koji dobro opisuje zadanu funkciju u smislu metode najmanjih kvadrata.

U kvalitetu dobivene aproksimacije uvjerimo se prikazujui grafove funkcija f(x) i p
2
(x) na
istoj slici (p
3
izostavljamo jer je jednak p
2
). U novi redak radnoga prostora utipkajmo:

plot(x,y,'*',x1,cos(2*x1),x1,polyval(p2,x1))

pa emo dobiti sljedeu sliku:


ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 154


-0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5
0.5
0.55
0.6
0.65
0.7
0.75
0.8
0.85
0.9
0.95
1

Primjeujemo da se grafovi funkcija gotovo podudaraju, to znai da je aproksimacija
polinomom 2. stupnja jako dobra. Najbolja aproksimacija postie se, dakako, pomou LIPa.


7.4. Zadaci za vjebu


1. Odredite LIP koji prolazi tokama:

a) T
1
(-1, 2), T
2
(0, 1), T
3
(1, -1), T
4
(2, -3), T
5
(3, -5);
b) T
1
(ln 2, e
2
), T
2
(cos 3, ctg 5), T
3
(2 2 , 2 + 2 ), T
4
(
3
3 , log
2
3).

U svakom od sluajeva odredite apsolutnu greku aproksimacije u tokama x = 0.1 i x = 5, te
grafiki provjerite kvalitetu dobivenih aproksimacija.


ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 155


2. Aproksimirajte funkciju f(x) = ln x LIPom na segmentu [0.5, 1.5] u tokama 0.5, 0.7, 0.9,
1.1, 1.3 i 1.5. Odredite apsolutnu greku aproksimacije u tokama x = 1 i x = 2, te grafiki
provjerite kvalitetu dobivene aproksimacije.

3. Aproksimirajte funkciju f(x) = ctg(2x) LIPom na segmentu
(

,
8

u ukupno 10
ekvidistantnih toaka takvih da je donja granica segmenta prva, a gornja granica segmenta
posljednja od tih 10 toaka. Odredite apsolutnu greku aproksimacije u tokama x = 0.2 i
x = 1, te grafiki provjerite kvalitetu dobivene aproksimacije.

4. Odredite polinome 1., 2. i 3. stupnja koji u smislu metode najmanjih kvadrata najbolje
aproksimiraju funkciju f(x) = sin(3x) na segmentu [-1, 1] u ukupno 10 ekvidistantnih toaka
toga segmenta takvih da je donja granica segmenta prva, a gornja granica segmenta posljednja
od tih 10 toaka. Kvalitetu dobivenih aproksimacija provjerite grafiki.

5. Zadana je tablica vrijednosti x i y.

x 0 1 3 4 6 7
y 3 6 24 48 192 384

a) Odredite polinome 1., 2. i 3. stupnja koji najbolje opisuju zadani skup podataka u smislu
metode najmanjih kvadrata.

b) Odredite LIP koji najbolje opisuje zadani skup podataka.

c) Izraunajte vrijednost y pridruenu x = 5 koristei svaki od polinoma iz a) i b) zadatka.

6. Kreirajte funkcijsku mdatoteku stupanjlip.m koja sadri jedino funkciju stupanjlip ije
su ulazne varijable jednoretane realne matrice x i y istoga tipa takve da je elementu x
i

pridruen element y
i
, i = 1, 2, , a jedina izlazna varijabla stupanj LIPa koji najbolje opisuje
skup toaka {(x
i
, y
i
) : i = 1, 2, }.

7. Bez uporabe MATLAB-a odredite to e se ispisati utipkavanjem sljedeega niza naredbi:

x=0:0.1:1;
y=x+1;
p=polyfit(x,y,2)





ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 156


7.5. Numerika integracija


U ovoj emo toki razmatrati sljedei problem:

Problem: Priblino izraunati odreeni integral

b
a
dx x f ) ( .

Pritom pretpostavljamo da je f(x) realna funkcija realne varijable integrabilna na segmentu
[a, b].

Postoji vie formula za priblino raunanje odreenoga integrala (lijeva formula
pravokutnika, desna formula pravokutnika, trapezna formula, Simpsonova formula itd.), a mi
emo ovdje razmatrati dvije najpoznatije: trapeznu i Simpsonovu. Grubo govorei, trapezna
se formula zasniva na zamjeni podintegralne funkcije f(x) interpolacijskim polinomom 1.
stupnja, odosno zamjeni krivocrtnoga trapeza obinim trapezom, i to na svakom od segmenata
dobivenih razdiobom segmenta [a, b] na n dijelova. Simpsonova se, pak, formula zasniva na
razdiobi segmenta [a, b] na paran broj dijelova, pa se u svakom od dobivenih segmenata
podintegralna funkcija zamjenjuje s interpolacijskim polinomom drugoga stupnja (to znai
da se povrina krivocrtnoga trapeza na svakom od tih segmenata zamjenjuje s povrinom
ispod parabole).

MATLAB ne posjeduje ''gotove'' (standardne) funkcije koje odreeni integral priblino
raunaju prema trapeznoj, odnosno Simpsonovoj formuli, no, ovdje emo navesti dvije
posebno stvorene funkcije trapez i simpson koje to ine. Funkcija trapez kao ulazne varijable
ima podintegralnu funkciju f(x) (zapisanu u funkcijskoj mdatoteci), granice segmenta a i b, te
broj dijelova n na koje treba podijeliti segment [a, b], a kao jedinu izlaznu varijablu priblinu
vrijednost integrala

b
a
dx x f ) ( . Ona glasi:

function z=trapez1(funkcija,a,b,n)
argx='(x)';
sirina=(b-a)/n;
x=a:sirina:b;
for i=1:(n+1)
y(i)=feval(funkcija,x(i));
end
z=sirina*(y(1)/2+sum(y(2:n))+y(n+1)/2);

ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 157


Funkcija simpson ima iste ulazne i izlazne varijable kao i funkcija trapez, ali se zahtijeva
provjera je li n paran prirodan broj. Ona glasi:

function z=simpson1(funkcija,a,b,n)
if mod(n,2)>0
error('Broj dijelova mora biti paran!'),
end
argx='(x)';
sirina=(b-a)/n;
x=a:sirina:b;
for i=1:(n+1)
y(i)=feval(funkcija,x(i));
end
z=sirina*(y(1)+2*(2*sum(y(2:2:n))+sum(y(3:2:n)))+y(n+1))/3;

(Radi jednostavnosti, u niti jednoj od navedenih funkcija ne zahtijevamo provjeru je li n
prirodan broj. Ako vam se to ne svia, doradite te funkcije tako da provjeravaju istinitost
tvrdnje: n N.)

Za priblino raunanje odreenoga integrala MATLAB posjeduje dvije ''gotove'' funkcije:
quad i quadl. Obje te funkcije kao ulazne varijable imaju podintegralnu funkciju f(x), te
granice segmenta a i b, a zasnivaju se na prilagoenoj Simpsonovoj, odnosno Lobattovljevoj
formuli i imaju ''default tonost'' reda 10
6
. Ukoliko elimo postii veu tonost (npr. eps) ,
tu tonost moramo navesti kao ulaznu varijablu pri pozivu funkcije. Mi emo koristiti
funkciju quadl koja se (iz radnoga prostora) moe pozvati na ukupno tri naina:

1.) I = quadl(funkcija,donja_granica,gornja_granica)

Npr.

I = quadl('sin(x)',0,pi/2)

kao izlaz daje

I =

0.99999999999175

2.) koristei funkciju inline za definiranje objekta u radnomu prostoru:

F=inline(funkcija)
I=quadl(F,donja_granica,gornja_granica)

ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 158


Integral iz 1.) tako moemo priblino izraunati i ovako:

F=inline('sin(x)');
I = quadl(F,0,pi/2)

pa e MATLAB ispisati kako smo i oekivali:

I =

0.99999999999175

3.) podintegralnu funkciju zapiemo u obliku funkcijske mdatoteke pif.m, pa je iz radnoga
prostora pozivamo ovako:

I=quadl(@pif,donja_granica,gornja_granica)

Za poetnike ili nedovoljno iskusne korisnike trei je nain najpraktiniji jer u sluaju da
pogreno zadaju funkciju f(x) ispravke ne moraju vriti u radnomu prostoru. Za iskusne
korisnike najpraktiniji je prvi nain.

Pogledajmo primjenu svih navedenih funkcija na primjerima.

Primjer 1. Zadan je odreeni integral

I =
1
2
0
arctg
1
x
dx
x

+

.

Izraunajmo pribline vrijednosti toga integrala pomou trapezne, odnosno Simpsonove
formule (uzimajui n = 20), te pomou funkcije quadl. Usporedimo dobivene rezultate s
pravom vrijednou integrala i ocijenimo greku.

Podintegralnu funkciju najprije emo zapisati u funkcijsku mdatoteku pif.m. Otvorimo tu
datoteku i utipkajmo:

function y=pif(x);
y=sqrt(atan(x))./(1+x.^2);

Pohranimo unesene naredbe i vratimo se u radni prostor. Izraunajmo najprije priblinu
vrijednost zadanoga integrala rabei trapeznu formulu. U novi redak radnoga prostora
utipkajmo:


ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 159


I1=trapez('pif',0,1,20)

pa e MATLAB ispisati:

I1 =

0.46163987471061

Za primjenu Simpsonove formule u novomu retku utipkajmo:

I2=simpson('pif',0,1,20)

pa e MATLAB ispisati:

I2 =

0.46312038720569

Uporabimo li funkciju quadl, nakon utipkavanja

I3=quadl(@pif,0,1)

(koristimo 3. nain pozivanja te funkcije jer podintegralnu funkciju ve imamo zapisanu u
funkcijskoj mdatoteci pif.m) dobivamo:

I3 =

0.46402601222060

Izraunajmo sada pravu vrijednost integrala. To moramo uiniti ''klasino'', odnosno koristei
poznate metode za raunanje odreenoga integrala. Odredimo najprije

dx
x
x

+
2
1
arctg
.

Taj neodreeni integral rjeavamo metodom supstitucije. Stavimo li

t = arctg x,

onda je


ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 160


dx
x
dt
2
1
1
+
= .

Stoga je

3
2
3
2
3
1
2
1
2
1
2
) arctg (
3
2
3
2
2
3
1
1
2
1
1
1
arctg
x t t t dt t dt t dx
x
x
= = =
+
= = =
+

+
+ C.

Primijenimo li NewtonLeibnizovu formulu, dobivamo:

.
12

2

3
2
0
4

3
2
0 artcg
3
2
) 1 (arctg
3
2
3
3

= = |

\
|
= = I

Izraunajmo priblinu vrijednost toga broja u MATLAB-u. Utipkajmo:

I=pi*sqrt(pi)/12

pa e MATLAB ispisati:

I =

0.46402733306931

Preostaje nam ocijeniti greke priblinih rauna. To emo uiniti tako da izraunamo sljedee
vrijednosti:

g
1
= |I I
1
|,
g
2
= |I I
2
|,
g
3
= |I I
3
|.
U novi redak radnoga prostora utipkajmo:

g1=abs(I-I1),g2=abs(I-I2),g3=abs(I-I3)

pa e MATLAB ispisati:

g1 =

0.00238745835870

ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 161


g2 =

9.069458636229988e-004


g3 =

1.320848704300381e-006

Zakljuujemo da smo pomou funkcije quadl dobili najbolji (zapravo, najpribliniji)
rezultat, a pomou trapezne formule najloiji rezultat.

Primjer 2. Zadan je odreeni integral

dx e
x


2
1
2
.

Izraunajmo priblinu vrijednost toga integrala rabei trapeznu i Simpsonovu formulu (uz n =
2000), te funkciju quadl, te procijenimo pravu vrijednost integrala s tonou od 10
6
.
(Moe se pokazati da u ovom primjeru ne moemo izraunati pravu vrijednost integrala,
odnosno odrediti primitivnu funkciju funkcije f(x) =
2
x
e

.)

Najprije modificiramo mdatoteku pif.m:

function y=pif(x);
y=exp(-x.^2);

Pohranimo unesene naredbe i vratimo se u radni prostor. U njegov novi redak utipkajmo:

I1=trapez('pif',1,2,2000),I2=simpson('pif',1,2,2000),I3=quadl(@pif,1,2)

pa e MATLAB ispisati:

I1 =

0.13525727175200





ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 162


I2 =

0.13525725794999


I3 =

0.13525725727024

Moemo zakljuiti da je prava vrijednost integrala (s tonou od 10
6
) jednaka

I = 0.135257.


Ukoliko elimo priblino izraunati neki dvostruki integral, rabimo MATLAB-ovu funkciju
dblquad ija je sintaksa analogna funkciji quadl. Evo jednoga primjera.

Primjer 3. Priblino izraunajmo dvostruki integral

dxdy y x
D

+
2 2


ako je D jedinini kvadrat [0,1]
2
. Prema Fubinijevu teoremu dvostruki integral moemo
zamijeniti s dva ''jednostruka'' (obina) integrala:


|
|

\
|
+ = + = +
D
dy dx y x dxdy y x dxdy y x
1
0
1
0
1
0
1
0
2 2 2 2 2 2
.

Modificirajmo sada funkciju pif.m ovako:

function z=pif(x,y);
z=sqrt(x.^2+y.^2);

Pohranimo unesene naredbe i vratimo se u radni prostor. Utipkajmo:

I=dblquad(@pif,0,1,0,1)

pa e MATLAB ispisati:



ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 163


I =

0.76519463825199

Poredak integrala pritom nije bitan jer se vrijednost integrala ne mijenja ako ''zamijenimo
integrale''. No, moramo pripaziti da donja granica jednoga integrala bude zapisana tono
ispred gornje granice toga istoga integrala jer u suprotnom neemo dobiti ispravan rezultat.


7.6. Zadaci za vjebu


Izraunajte pribline vrijednosti sljedeih odreenih integrala pomou trapezne formule,
Simpsonove formule i funkcije quadl, usporedite ih s pravim vrijednostima tih integrala i
ocijenite greke:

1.

+
2
1
) ln 1 ( dx x x . 6. dx e
x


1
0


2.

0
3
cos
sin
dx
x
x
. 7.

0
2 2
. cos sin xdx x

3.

+
1
0
2
6 5
1
dx
x x
. 8.

\
|
+ +
1
0
2
1 ln dx x x .

4.

2
) ln(ln
e
e
dx
x
x
. 9. dx
x
x x e
x

+
+
1
0
2
2 arcctg
1
1 ) 1 ln(
.

5. .
3 ln
2 ln
7
4
dx e x
x

10.

1
1
. 2 dx x

11. S tonou od 10
6
priblino izraunajte sljedee odreene integrale:


ELEKTROTEHNIKI ODJEL

Matematika u MATLAB-u

mr.sc. Bojan Kovai, predava 164


a)


2
1
log 2
) sin(
x
e x , c)

+
+
3
2
2 2
2
cos
sin
dx
x x
x x
,

b) dx x x

+
1
0
3 2 2
1 ) 1 ln( , d) dx
x
e e
x x

\
|
+
3
1
3
2
2

sin
1
ln .
12. Priblino izraunajte dvostruki integral

+ +
D
dxdy y xy x
3 2 2


ako je D podruje omeeno krivuljom

4 x
2
+ 3 y
2
= 48.

You might also like