51
1 PRIMIJENJENA I NUMERIČKA MATEMATIKA LABORATORIJSKE VJEŽBE Marijan Čančarević

lab vježbe

Embed Size (px)

Citation preview

Page 1: lab vježbe

1

PRIMIJENJENA I NUMERIČKA MATEMATIKA

LABORATORIJSKE VJEŽBE

Marijan Čančarević

Page 2: lab vježbe

2

Uvod

Prisjetimo se nekih nama važnih pojmova, operacija i funkcija Matlab-a.

Primjer 1.Neka je zadana matrica A kojoj su elementi brojevi 1, 4, 7, ..., 148. Napišimo:

a) matricu B kao vektor-stupac elemenata matrice A ,

b) matricu C kojoj su elementi kubovi elemenata matrice B,

c)matricu D kojoj su elementi logaritmi baze 2 elemenata matrice C,

d) matricu E čiji su stupci matrice A, B i C,

e) matricu F reda 4, kojoj su retci redom 8., 24., 35. , 42. redak matrice E, a zadnji stupac su jedinice,

f) ispitati regularnost matrice F i odrediti (ako postoji).

Rješenje: a) >> A=1:3:148 % ili A=linspace(1,148,50)

A = Columns 1 through 12 1 4 7 10 13 16 19 22 25 28 31 34 ... >> B=A' % transponiramo matricu A B = 1 4 7 :

b) > C=B.^3 C = 1 64 343 :

c) >> D=log2(C) % ili D=log(C)/log(2) D = 0 6.0000 8.4221 :

d) >> format long >> E=[B C D] E = 1.0e+006 * 0.00000100000000 0.00000100000000 0 0.00000400000000 0.00006400000000 0.00000600000000 0.00000700000000 0.00034300000000 0.00000842206477 : e) >> F1=[E(8,:);E(24,:);E(35,:);E(42,:)] F1 = 1.0e+006 *

0.00002200000000 0.01064800000000 0.00001337829486 0.00007000000000 0.34300000000000 0.00001838784905

Page 3: lab vježbe

3

0.00010300000000 1.09272700000000 0.00002005950158 0.00012400000000 1.90662400000000 0.00002086258893

>> F2=ones(4,1) % matrica jedinica tipa 4x1 F2 =1 1 1 1

>> F=[F1 F2] F = 1.0e+006 *

0.00002200000000 0.01064800000000 0.00001337829486 0.00000100000000

0.00007000000000 0.34300000000000 0.00001838784905 0.00000100000000

0.00010300000000 1.09272700000000 0.00002005950158 0.00000100000000

0.00012400000000 1.90662400000000 0.00002086258893 0.00000100000000

f) >> det(F) % računamo determinantu matrice F i kako je različita od 0, F je regularna i ima inverznu ans = -2.213110104752545e+007 >> invF=inv(F) invF =

0.03427107891291 -0.20644296659192 0.31677476889746 -0.14460288121845

-0.00000038872086 0.00000340043027 -0.00000685589081 0.00000384418140

-0.50220429503858 1.95209438099016 -2.58039326093020 1.13050317497861

6.96881250055306 -21.61015673195249 27.62521849852486 -11.98387426712543

Primjer 2. Riješimo sustav:

a) , b) x+2y+3z=14, 2x+3y-2z=2, 3x-2y+z=0

Rješenje: Navedene sustave možemo riješiti na različite načine. Prvi sustav je homogen i ima uvijek barem trivijalno rješenje.

a) >> [x,y,z]=solve('3*x-2*y+z=0','2*x-3*y+4*z=0','-x-y+3*z=0') x =x y =2*x z =x

b) >> A=[1 2 3;2 3 -2;3 -2 1]; >> Ab=[1 2 3 14;2 3 -2 2;3 -2 1 2]; >> rank(A) ans = 3 >> rank(Ab) ans = 3 % sustav ima jednoznačno rješenje, koje možemo naći npr . ovako:

>> rref(Ab)

Page 4: lab vježbe

4

ans = 1 0 0 1

0 1 0 2

0 0 1 3

Lako se čita da je

Možemo to napraviti kao u a) ili >> [14 2 2]/A

ans = 1 2 3

ili

>> X=A\[14 2 2]' X = 1 2 3

Primjer 3. Funkciju spremimo kao m-file pod imenom f1 i nacrtajmo njezin graf .

Rješenje: function y=f1(x) y=3*cos(x)-sqrt(x-7)

>> fplot('f1',[7,16]) % fplot koristimo za crtanje grafa funkcija koje su spremljene kao m-file

7 8 9 10 11 12 13 14 15 16-6

-5

-4

-3

-2

-1

0

1

2

3

Za crtanje grafa koriste se i funkcije plot , ezplot,... pri čemu je neophodno znati domenu funkcije . Pogledajmo što se dešava kada crtamo graf, a da ne znamo područje definicije funkcije:

>>syms x >> ezplot(3*cos(x)-sqrt(x-7),[-4,4]) Warning: Cannot plot 3*cos(x)-(x-7)^(1/2): This function has no real values.

>> ezplot(3*cos(x)-sqrt(x-7)) % nismo naveli granice pa Matlab uzima interval [-2*pi,2*pi] Warning: Cannot plot 3*cos(x)-(x-7)^(1/2): This function has no real values.

Page 5: lab vježbe

5

Kako smo već vidjeli, Matlab je i programski jezik i omogućuje nam stvaranje vlastitih funkcija i programa koje možemo koristiti za rješavanje složenijih zadataka i problema.

Primjer 4. Koristeći funkciju rand ( generira uniformno distribuirane slučajne brojeve između 0 i 1 ) simulirajmo izvlačenje loto brojeva 6 od 45 .

Rješenje: >> x=ceil(1+(45-1)*rand(6,1)) % ceil zaokružuje broj na najbliži veći cijeli broj x = 1 33 20 41 21 19

ili

>> x=ceil(45*rand(6,1)) x = 7 1 41 9 14 30

Napomena: ako ste dobili dva ili više istih brojeva ( moguće je) , ponovite izvlačenje.

Primjer 5. Napišimo program koji će ispisivati binomne koeficijente u razvoju binoma

(redak u Pascalovu trokutu).

Rješenje: Kako je , to možemo riješiti npr. ovako:

function y=bk(n)

for k=0:n

y(k+1)=prod([n:-1:n-k+1]./[1:k]); % morali smo y-u indeks povećati za 1

end

Tako je >> bk(7)

ans = 1 7 21 35 35 21 7 1,

što znači :

Laplaceova transformacija

Ako je )(tf funkcija definirana za 0≥t , tada funkciju

∫∞+

−=0

)()( dttfesF st

Page 6: lab vježbe

6

nazivamo Laplaceovom transformacijom funkcije f(t), odnosno kažemo da je funkcija F(s) Laplaceov

transformat za f(t) i pišemo )(sF = ( ))(tfL . Funkcija )(tf se može transformirati pomoću

Laplaceove transformacije ako je definirana za svako 0≥t i nepravi integral ∫∞+

0

)( dttfe st konvergira,

tj. 0)(lim =−

∞→

st

tetf .

Za određivanje Laplaceovih transformacija funkcija koristi se navedena definicija, a za primjenu

koristimo Tablicu Laplaceovih transformacija.U Matlab-u Laplaceove transformacije po definiciji

određujemo uporabom naredbe int, i samostalno (bez Matlab-a) određivanjem ˝očitog˝ limesa( iako

ponekad izgleda komplicirano). To je zbog toga što nam za funkciju F(s) trebaju dvije varijable ( s i t)

koje treba zadati i Matlab to interpretira kao funkciju dvije varijable, a limes računamo po jednoj (t )

varijabli.

Primjer 1. Odredimo Laplaceovu transformaciju funkcije .2)( =tf

Rješenje:

>> syms t s

>> f=2*exp(-s*t);

>> F=int(f,t,0,inf)

F =limit(-2*(exp(-s*t)-1)/s,t = Inf)

Limes koji smo dobili ima vrijednost s

s2

/)1(2 =−⋅− ( jer je ( ) 0/2lim =⋅− −

∞→se st

t), pa

je .2

)2()(s

LsF ==

Prethodni način je teorijski dobar, ali manje vještom čitatelju može predstavljati problem. Zato Matlab posjeduje

funkciju laplace ( f ), gdje je f funkcija argumenta t (postoje i drugi oblici).

Primjer 2. Odredimo pomoću funkcije laplace Laplaceovu transformaciju funkcija:

a) ,2)( =tf b) ,3)( 2ttf = c) ttf cos)( =

Rješenje: a) >> f=2*t^0;

>> laplace(f)

ans =2/s

b) >> laplace(3*t^2)

ans = 6/s^3

c) >> laplace(cos(t)

ans =s/(s^2+1)

Svojstva Laplaceove transformacije:

Page 7: lab vježbe

7

1. Ako su a i b proizvoljne konstante i )(tf , )(tg funkcije za koje postoje Laplaceove transformacije,

tada je: ( ) ( ) ( ) )()()()()()( sbGsaFtgbLtfaLtbgtafL +=+=+

2. ( ) ( ) )0()()( ftfsLtfL −=′

3. ( ) ( ) )0()0()()( 2 fsftfLstfL ′−−=′′

Laplaceovoj transformaciji ))(()( tfLsF = funkcije )(tf je inverzna Laplaceova transformacija

( ))()( 1 sFLtf −= funkcije )(sF .

Primjer 3. Odredimo

sL

21 .

Rješenje: U prethodnom primjeru smo vidjeli da je L(2)=2/s pa je ( )sL /21− =2.

Inverznu Laplaceovu transformaciju u Matlab-u nalazimo funkcijom ilaplace(F) gdje je F funkcija

varijable s.

Primjer 4. Pomoću funkcije ilaplace odredimo a)

sL

21 , b)

++−

4)1(

22

1

sL ,c)

−−

2

1

)3(

1

sL

Rješenje: a) >> f=ilaplace(2/s)

f =2

b)>> f=ilaplace(2/((s+1)^2+4))

f =exp(-t)*sin(2*t)

c)>> f=ilaplace(1/(s-3)^2)

f =t*exp(3*t)

Vrijedi:

( ) ( ) ( ) )()()()()()( 111 tbgtafsGbLsFaLsbGsaFL +=+=+ −−− .

Tablica Laplaceovih transformacija i svojstava:

Funkcija f(t) Laplaceova transformacija F(s)

realna konstanta c

s

c

Nnt n ∈, 1

!+ns

n

te ⋅−α α+s1

Page 8: lab vježbe

8

tte ⋅−α

2)(

1

α+s

)sin( t⋅β

22 ββ+s

)cos( t⋅β

22 β+ss

)sin( te t ⋅⋅− βα 22

)( βαβ++s

)cos( te t ⋅⋅− βα 22)( βα

α++

+s

s

)()( tbgtaf +

)()( sbGsaF +

)(tf ′

)0()( fssF −

)(tf ′′

)0()0()(2 fsfsFs ′−−

)(atf

a

sF

a

1

a

tf

a

1

)(asF

Primjer 5. Koristeći prethodnu tablicu odredimo inverznu Laplaceovu transformaciju za funkciju

sss

sssF

128

43)(

23

2

++

−+= .

Rješenje: >> format rat

>> a=[1 3 -4]; b=[1 8 12 0];

>> [r,p,k]=residue(a,b) % rastavljamo funkciju na parcijalne razlomke

r = 7/12 % brojnici parcijalnih razlomaka

3/4

-1/3

Page 9: lab vježbe

9

p = -6 % nultočke nazivnika

-2

0

k= [] % ostatak 0

Dakle, naša se funkcija da zapisati u obliku: sss

sF1

3

1

2

1

4

3

6

1

12

7)( ⋅−

+⋅+

+⋅= i primjenom

tablice dobivamo 3

1

4

3

12

71

3

1

2

1

4

3

6

1

12

7))(( 261111 −+=

+

+

+

= −−−−−− tt ees

Ls

Ls

LsFL .

Napomena. Funkciju residue koristimo u slučaju da polinom u nazivniku ima sve realne nultočke, u protivnom

koristimo funkciju factor za rastav nazivnika na faktore, raspišemo racionalnu funkciju, iskoristimo jednakost dva

polinoma i na kraju riješimo sustav.

Sve ovo možemo riješiti jednostavnije: >> y=ilaplace((s^2+3*s-4)/(s^3+8*s^2+12*s))

y =-1/3+7/12*exp(-6*t)+3/4*exp(-2*t)

Naša osnovna primjena Laplaceove transformacije je za rješavanje nehomogene diferencijalne jednadžbe 2.

reda s konstantnim koeficijentima , )(tfcyybya =+′+′′ uz početne uvjete .)0(,)0( ByAy =′= Algoritam

rješavanja je sljedeći:

1) diferencijalnu jednadžbu Laplaceovom transformacijom zamijenimo algebarskom, 2) riješimo algebarsku jednadžbu po L(y) i 3) primjenom inverzne Laplaceove transformacije na dobiveno rješenje u 2) nalazimo rješenje

diferencijalne jednadžbe.

Primjer 5. Riješimo problem (nađimo partikularno rješenje diferencijalne jednadžbe)

.1)0(,0)0(,2 =′==′+′′ yyyy

Rješenje: )2()()( LyLyL =′+′′ . Iz tablice dobivamo s

yysLysyyLs2

)0()()0()0()(2 =−+′−− ,

što nakon uvrštavanja početnih uvjeta daje: 232

2 2

)(

2)(.,

2)(1)(

ss

s

sss

syLtj

sysLyLs

+

+=

+

+==+− .

Rastavimo desnu stranu na parcijalne razlomke. >> a=[1 2 ]; b=[1 1 0 0];

>> [u v k]=residue(a,b)

u =1

-1

2

v=-1

0

0

k = []

Page 10: lab vježbe

10

Dobili smo: 223

21

1

12)(

sssss

syL +−

+=

++

= . Primjenom inverzne Laplaceove transformacije na L(y) i uz

pomoć tablice nalazimo partikularno rješenje: .21 tey t +−= −

Pokušajte problem riješiti pomoću funkcije ilaplace. Predhodnu jednadžbu smo riješili uz prilično skromnu

pomoć Matlab-a i jedini razlog za takav način rješavanja može biti samo teorijski. Svakako ovu i sve druge

diferencijalne jednadžbe lako i jednostavno rješavamo uz pomoć Matlab-a upotrebom naredbe dsolve.

Za rješenje je dovoljno napisati:>> syms t

>> y=dsolve( 'D2y+Dy=2','y(0)=0,Dy(0)=1' )

y =exp(-t)+2*t-1

Eulerova metoda

Neka je zadana diferencijalna jednadžba ),( yxfy =′ i početni uvjet 00 )( yxy = tj. točka ),( 000 yxM

odgovarajuće integralne krivulje. Za određivanje približne vrijednost i funkcije y(a) i aproksimaciju integralne

krivulje na intervalu [ ax ,0 ] podijelimo taj interval na n jednakih dijelova duljine h, tako da je .0 nhxa += U

točki ),( 000 yxM povučemo tangentu na integralnu krivulju . Postupak ponavljamo u sjecištu tangente i pravca

1xx = i tako do točke nx . Dobili smo točke ),( kkk yxM , gdje je ),(, 11 kkkkkk yxhfyyhxx +=+= ++ ,

k=0,1,...,n-1. Spajanjem točaka ),( kkk yxM dobivamo poligonalnu liniju koja će bolje aproksimirati traženu

integralnu krivulju povećavanjem broja koraka n.

Primjer 1. Eulerovom metodom za jednadžbu ,1)0(,2 =−=′ yyxy odredimo y(0.1) i nacrtajmo točke koje

smo dobili .

Rješenje: Očito je 2

0 ),(,1.0),1,0( yxyxfaM −== . Eulerova metoda približnog rješavanja diferencijalne

jednadžbe daje nam sljedeći postupak:

>> x=0;y=1;h=(0.1-0)/15;

>> for k=1:15 % uzeli smo n=15

f=x-y^2; y=y+f*h;x=x+h; plot (x,y,’*’); hold on

end

>> y

y = 0.9130

Page 11: lab vježbe

11

Greška aproksimacije je u četvrtoj decimali.

0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.10.91

0.92

0.93

0.94

0.95

0.96

0.97

0.98

0.99

1

Zadaci

1. Napišite: a) jednostupčanu matricu A kojoj su elementi redom 110, 108, …, 4,2,

b) jednorednu matricu B dobivenu iz A zamjenom stupca u redak,

c) matricu C kojoj su elementi dobiveni potenciranjem elemenata matrice B eksponentom 3/2,

d) matricu D kojoj su elementi tangensi elemenata matrice C

e) matricu E kojoj su retci matrice B,C i D,

f) matricu F kojoj su stupci 3., 7. i 13 stupac matrice E,

g) ispitajte regularnost matrice F i odredite joj inverznu( ako postoji).

2. Funkcije spremimo kao m-file i nacrtajmo njihov graf.

3. Napišite program koji će računati sumu reda s točnošću .

4. Odredite Laplaceovu transformaciju funkcija: a) ,1)( −=tf b) ,3cos5)( 3 tttf += c) tetf t sin)( 2−=

5. Odredite inverznu Laplaceovu transformaciju funkcija :

a) .

6. Riješite problem a) b) 7. Metodom sukcesivnih aproksimacija nađite rješenje y3 (x) diferncijalne jednadžbe:

(uputa, ).

8. Eulerovom metodom izračunajte

Page 12: lab vježbe

12

Numerika

Greške

Greške su sastavni dio svakog mjerenja. Svaki mjerni uređaj ima svoju granicu točnosti. Ako se ne zna prava(točna) vrijednost broja a , ali se zna njegova približna vrijednost A, kažemo da A aproksimira a . Broj |A-a| nazivamo apsolutna greška aproksimacije, a broj |A-a|/|A| relativna greška.

Primjer 1.Odredimo apsolutnu i relativnu grešku aproksimacije za a)a=3.257, A=3.26, b)a=1234.12 , A=1234.123.

Rješenje: a) >> ap=abs(3.26-3.257)

ap = 0.00300000000000

>> re=ap/3.26

re = 9.202453987729049e-004

b) >> format short

>> ap=abs(1234.123-1234.12)

ap = 0.0030

>> re=ap/1234.123

re = 2.4309e-006

Kažemo da broj A aproksimira a sa točnošću ε ako je |A-a|≤ε i ε nazivamo graničnom apsolutnom greškom.Analogno se uvodi granična relativna greška.

Primjer 2. Neka su A=2132.63... i B=14.362... aproksimacije brojeva a i b. Procijenimo točnost umnoška AB.

Rješenje: Apsolutna granična točnost za A je 0.5∙0.001, a za B 0.5∙0.001 pa je prema formuli granične greške umnoška: >> gag=2132.63*0.5*0.001+14.362*0.5*0.01, gag=1.13812500000000, što znači da se umnožak AB može pouzdano odrediti na jedinice.

Približno određivanje rješenja jednadžbe

Neprekidna funkcija y=f(x) na intervalu koji sadrži segment [a,b] za koju je f(a)f(b)<0 ima nultočku u [a,b].Za nalaženje nultočke funkcije y=f(x) (rješenja jednadžbe f(x)=0) važan korak je određivanje intervala [a,b], tj.lociranje nultočke. To možemo napraviti tako da nacrtamo graf funkcije y=f(x) ili f(x)=0 transformiramo u oblikg(x)=h(x), gdje znamo nacrtati graf funkcija g(x) i h(x). Kad to radimo u Matlab-u oba načina su jednostavna ako znamo odrediti domene navedenih funkcija.

Primjer 1. Odredimo broj nultočki funkcije a) .

Rješenje: a) Stavimo i nacrtajmo graf tih funkcija.

>> x=-2:0.05:3;

>> g=exp(x);h=3*x+1;

Page 13: lab vježbe

13

>> plot(x,g,x,h)

>>grid

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2 2.5 3-5

0

5

10

15

20

25

Sa slike vidimo da funkcija ima dvije nultočke i to .

b) Domena zadane funkcije je interval . Koristimo funkciju ezplot.

>> syms x

>> ezplot(sqrt(x-5)-2*cos(x),[5,10])

>> grid

5 5.5 6 6.5 7 7.5 8 8.5 9 9.5 10

-1

0

1

2

3

4

x

(x-5)1/2-2 cos(x)

X: 7.055

Y: 0.0009798

Metoda bisekcije (polovljenja)

Metoda polovljenja sastoji se u formiranju niza intervala za koje je , n=0,1,2,.. ,

i pritom je . Za apsolutnu grešku aproksimacije

vrijedi . Algoritam nalaženja rješenja može biti sljedeći:

1)

2)

3) za staviti , za <0 staviti , za = 0 stop ;

Page 14: lab vježbe

14

4) ako je ići na 2 a za <

Napišimo m-file kojim rješavamo jednadžbe( tražimo nultočku funkcije) metodom bisekcije.

function y=bis(funkcija,a,b,n)

argx='(x)'; arga='(a)'; argb='(b)';

if eval([funkcija,arga])*eval([funkcijaja,argb])>0, error('Pogreška u ulaznim podacima!'), end

for k=0:n

x=(a+b)/2;

if abs(eval([funkcija,argx]))==0, break, end

if eval([funkcija,argx])*eval([funkcija,arga])>0 a=x;

else b=x; end

end

y=x;

Primjer 1. Odredimo metodom bisekcije najmanju nultočku funkcije s točnošću

Rješenje: Locirajmo nultočke koristeći Matlab-ovu grafiku.

>> syms x

>> ezplot(log10(x+3)-exp(x-1), [-2.5,2])

>> grid

-2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2-2

-1.5

-1

-0.5

0

x

log(x+3)/log(10)-exp(x-1)

Sa slike čitamo da je najmanja nultočka u intervalu [-2,-1.5]. Spremimo funkciju kao m-file:

function y=nf(x)

y=log10(x+3)-exp(x-1);

Izračunajmo n: >> n=ceil((log(-1.5+2)-log(0.0001))/log(2)) , n =13.

Pozovimo funkciju bis sa stvarnim parametrima: >> bis('nf',-2,-1.5,13) , ans = -1.8589.

Jednako možemo postupiti i u slučaju da trebamo naći rješenje jednadžbe Put do lociranja

rješenja može biti različit, a i Matlab- program za metodu bisekcije. Dobra vježba iz programiranja ali i

primijenjene i numeričke matematike može biti pisanje vlastitog programa, pri čemu može poslužiti i

ranije naveden algoritam. Pokušajte!

Primjer 2. Nađimo rješenje jednadžbe najbliže 0 s točnošću

Rješenje: Grafičko rješenje jednadžbe nađimo kao presjek krivulja

>> x=-9:0.05:1; % za brojeve manje od -8 krivulje se neće sjeći

Page 15: lab vježbe

15

>> y1=sqrt(1-x);y2=3*sin(x);

>> plot(x,y1,x,y2)

>> grid

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

-2

-1

0

1

2

3

4

Rješenje najbliže nuli je u intervalu [0,1]. Odredimo n, zapišimo jednadžbu kao m-file i pozovimo bis. Imamo: >> n=ceil((log(1-0)-log(0.01))/log(2)),n = 7,

function y=f1(x)

y=sqrt(1-x)-3*sin(x), >> bis('f1',0,1,7),ans = 0.2852

Rješenje smo mogli dobiti i direktno pomoću funkcije fzero koja traži nultočku funkcije

najbližu broju . Dakle, >> fzero('f1',0), ans = 0.2856, ili ako funkcija nije spremljena kao m-file >>

f=@(x)sqrt(1-x)-3*sin(x); >> c=fzero(f,0),c = 0.2856, ili >> c=fzero(f,[0,1]), c = 0.2856 .

Metoda tangente (Newtonova metoda)

Neka je realan broj c izdvojeno rješenje jednadžbe f(x)=0 na segmentu [a,b] i ne mijenjaju

predznak u [a,b]. Pretpostavimo da funkcija raste ( i graf zakreće prema gore ( .

Povucimo tangentu u točki ) i sjecište tangente i x-osi je prva aproksimacija , zatim u točki

napravimo to isto i nastavljanjem postupka dobivamo :

Za apsolunu grešku aproksimacije vrijedi: za

Napomena. Za početnu aproksimaciju bira se rub intervala [a,b] takav da su vrijednost funkcije i druga

derivacija istog predznaka.

Primjer 1 . Metodom tangente nađimo negativno rješenje jednadžbe s točnošće

.

Rješenje: Prvo lociramo rješenje:

>> syms x

>> f=exp(x)-x^2+1;

>> ezplot(f,[-6,0])

>> grid

Page 16: lab vježbe

16

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

-35

-30

-25

-20

-15

-10

-5

0

5

x

exp(x)-x2+1

Sa slike čitamo da se rješenje (nultočka) nalazi u intervalu [-2,-1]. Napišimo m-file kojim ćemo tražiti

rješenje sa zadanom točnošću i brojem koraka bilo koje funkcije.

function y=mettan(funkcija,ap,greska)

%za ap biramo a ako na intervalu [a,b] je f(a)*f''(a)>0 i f raste

%ili pada, a ap=b za f(b)f''(b)>0, ap pocetna aproksimacija

n=0;

while abs(subs(funkcija,ap)/subs((diff(funkcija)),ap))>greska

n=n+1

ap=ap-subs(funkcija,ap)/subs((diff(funkcija)),ap)

end

y=ap ;n

>> mettan(f,-2,0.5*10^(-5))

n = 1

ap = -1.30727147363943

n = 2

ap = -1.15531785001272

n = 3

ap = -1.14777596444999

n = 4

ap = -1.14775763225296

n = 4

ans = -1.14775763225296

Napomena. M-file mettan ( funkcija,ap,greška) je primjenjiv za funkcije zapisane simbolički, a ne za funkcije napisane kao m-file. Pokušajte napisati program koji će raditi samo za takove funkcije (kao npr. bis).

Metoda sekante (tetive)

Uz iste uvjete kao i kod metode tangente, kroz točke povučemo pravac (sekantu) i presjek

pravca i x-osi (y=0) daje nam prvu aproksimaciju rješenja:

Page 17: lab vježbe

17

Drugu i sljedeće aproksimacije nalazimo primijenivši prethodno na interval u čijim rubnim točkama funkcija ima suprotne predznake ( koji sadrži rješenje).

Primjer 1. Metodom sekante nađite nađite rješenje jednadžbe s točnošću

Rješenje: >> f=x^3-x-1; >> ezplot(f) >> grid >> ezplot(f,[-2,2]) %poravka >> grid

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2

-6

-5

-4

-3

-2

-1

0

1

2

3

4

x

x3-x-1

Očito se naše rješenje nalazi između 1 i 1.5 , pa napišimo i pozovimo m-file metsek i upišimo stvarne podatke:

function y=metsek(funkcija,a,b,greska)

if subs(funkcija,a)*subs(funkcija,b)>0, error('greška u ulaznim podacima!'), end

n=0;

while abs(subs(funkcija,a)/subs(diff(funkcija),a))>greska

x=a-subs(funkcija,a)*(b-a)/(subs(funkcija,b)-subs(funkcija,a))

if subs(funkcija,x)*subs(funkcija,a)>0 a=x;

else b=x; end

n=n+1

end

y=x,n

>> metsek(f,1,1.5,0.5*10^(-4))

x = 1.2667,n = 1; x = 1.3160, n = 2; x = 1.3234,n = 3; x = 1.3245,n = 4; x =1.3247,n = 5;y =1.3247.

Dakle , približno rješenje zadane jednadžbe 1.3247 i postiže se u 5 koraka.

Napomena. Funkcija je i u ovom slučaju zadana simbolički, a ne kao m-file. Također, ovaj program, kao i prethodni, al ii budući mogu se napisati i drugačije. Svakako trebate pokušati.

Page 18: lab vježbe

18

Njutnova metoda za nelinearane sustav

Metodu ćemo pokazati za sustav od tri jednadžbe sa tri nepoznanice. Na sličan način se rješava sustav od n

nelinearnih jednadžbi sa n nepoznanica. Neka je zadan sustav od tri jednadžbe sa tri nepoznanice:

i

neka je početna aproksimacija. Pretpostavimo da je matrica

A= regularna u okolini .

Prvu , drugu,... aproksimaciju matrično zapisano ,nalazimo po formuli:

, gdje su X .

Primjer 1. Riješimo sustav

neka je početna aproksimacija . Rješenje: Primijenimo gornji algoritam:

>> syms x y z >> format rat >> f1=2*x^2-y+z-3; >> f2=x^2+2*y^2-z^3+18; >> f3=x^2+y^2+z^2-14; >> F=[f1;f2;f3] % formiramo matricu funkcija F = 2*x^2-y+z-3 x^2+2*y^2-z^3+18 x^2+y^2+z^2-14 >> A=[diff(F,x),diff(F,y),diff(F,z)]; % formiramo matricu parcijalnih derivacija A = [ 4*x, -1, 1] [ 2*x, 4*y, -3*z^2] [ 2*x, 2*y, 2*z] >> F0=subs(F,{x,y,z},{2,3,4}); % računamo elemente matrice F u početnoj aproksimaciji F0 = 6 -24 15 >> A0=subs(A,{x,y,z},{2,3,4}) % računamo elemente matrice A u početnoj aproksimaciji A0 = 8 -1 1

Page 19: lab vježbe

19

4 12 -48 4 6 8

>> D=det(A0) % ispitujemo regularnost matrice A D = 3272 >> IA0=inv(A0) IA0 = 48/409 7/1636 9/818 -28/409 15/818 97/818 -3/409 -13/818 25/818 >> r0=[2,3,4]' r0 = 2 3 4 >> r1=r0-IA0*F0 % primijenjujemo formulu za nalaženje sljedeće aproksimacije r1 = 1009/818 1695/818 2621/818 >> format short >>r1 = 1.2335 2.0721 3.2042

>> %postupak nastavljamo tako da računamo s r1 umjesto r0 >> F0=subs(F,{x,y,z},{1.2335,2.0721,3.2042}) ; >> A0=subs(A,{x,y,z},{1.2335,2.0721,3.2042}) ; >> D=det(A0) D = 973.4390 >> IA0=inv(A0); >> r2=r1-IA0*F0 % nalazimo drugu aproksimaciju r2 = 1.0190 1.9960 3.0110

>> % itd...

Točno rješenje sustava je (1,2,3) i greška 2. aproksimacije je manja od 0.02.

Zadaci

1. Odredite broj rješenja jednadžbe: a)

d) , e) , f)

Page 20: lab vježbe

20

2. Metodom bisekcije nađite realna rješenja jednadžbe s točnošću 0.001.

3. Metodom tangente nađite najveće rješenje jednadžbe s točnošću .

4. Metodom sekante nađite negativno rješenje jednadžbe s točnošću .

5.Metodom bisekcije, tangente i sekante odrediti najmanje rješenje jednadžbe s

točnošću

6. Njutnovom metodom riješite sustav a) ; b)

početna aproksimacija.

Numerička integracija

Naučili smo : ako je .Postoji veliki broj funkcija f(x) za koje

se elementarnim metodama ne mogu naći primitivne funkcije F(x) ili su one dosta složene ili funkcija nije

zadana analitički nego tablično. U tim slučajevima određene integrala oblika nalazimo pomoću

metoda numeričke (približne) integracije.

Trapezna formula

Neka je neprekidna funkcija na intervalu [a,b] . Interval [a,b] podijelimo točkama

, na n podintervala svaki duljine . Površinu ispod grafa

funkcije na intervalu [a,b] zamijenimo zbrojem površina trapeza kojima su vrhovi točke Tako smo dobili tzv. trapeznu formulu:

Za apsolutnu grešku aproksimacije određenog integrala trapeznom formulom vrijedi:

.

Primjer 1. Koristeći trapeznu formulu izračunajmo podjelom intervala integracije na 5 jednakih

dijelova.

Rješenje: Najprije napišemo m-file za računanje određenog integrala trapeznom formulom : function It=trapez(funkcija,a,b,n)

argx='(x)';

h=(b-a)/n; %duljina svakog podintervala

x=linspace(a,b,n+1) %dijeljenje intervala [a,b]

y=eval([funkcija,argx]);

It=h/2*(y(1)+y(n+1)+2*sum(y(2:n)));

Sada podintegralnu funkciju napišemo kao m. file:

Page 21: lab vježbe

21

function y=ft(x)

y=log(x)./x

>> trapez('ft',1,2,5)

x = 1.0000 1.2000 1.4000 1.6000 1.8000 2.0000

y = 0 0.1519 0.2403 0.2938 0.3265 0.3466

ans = 0.2372

Brže i jednostavnije smo mogli doći do rješenja (bez m-fileova) pomoću funkcije trapz na sljedeći način:

>> x=linspace(1,2,6);

>> y=log(x)./x;

>> It=trapz(x,y)

It = 0.2372

Primjer 2. Trapeznom formulom odredimo s točnošću

Rješenje: Korak h možemo odrediti iz nejednadžbe n iz

Dakle, imamo: >> syms x >> format long >> f=exp(x)/(x+1); >> d2x=diff(diff(f)); >> ezplot(d2x,[0.2,1]) % sa slike čitamo da neprekidna funkcija d2x na segmentu [0.2,1] postiže maksimum u 0.2

0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

0.6

0.62

0.64

0.66

0.68

0.7

0.72

0.74

X: 0.2

Y: 0.7351

x

exp(x)/(x+1)-2 exp(x)/(x+1)2+2 exp(x)/(x+1)

3

>> d2xmax=subs(d2x,0.2) % računamo vrijednost maksimuma d2xmax = 0.73510351185566 >> h2=12*0.5*10^(-5)/((1-0.2)*d2xmax) % računamo granični h^2 h2 = 1.020264476912562e-004 >> h=sqrt(h2) h = 0.01010081420932 >> n=ceil((1-0.2)/h) % uzimamo veći n (isto što i manji h) n = 80

Page 22: lab vježbe

22

>> x=linspace(0.2,1,81); >> y=subs(f,x); >> It=trapz(x,y) It =0.92416967056301

Simpsonova formula

Naučili smo da je . Primjenom Newton-Leibnizove formule uz

malo igre s algebarskim izrazima dobiva se :

(1) ,

gdje je polinom 2. stupnja ili kvadratna funkcija. Ako podintegralnu funkciju f(x) na

segmentu [a,b] zamijenimo polinomom 2. stupnja (geometrijski, krivulju y=f(x) zamijenimo parabolom) koji u

točkama poprima vrijednosti i primijenimo

formulu (1) dobivamo:

(2) .

Za veću točnost uzimamo paran broj n i interval [a,b] podijelimo točkama na n

intervala duljine h i na svakom segmentu primijenimo formulu (2).

Zbrajanjem svih tih integrala uz oznaku dobivamo Simpsonovu formulu:

Za apsolutnu grešku aproksimacije određenog integrala Simpsonovom formulom vrijedi:

.

Češće se zbog jednostavnosti greška aproksimacije G određuje po Rungeovom principu: gdje su

vrijednosti integrala dobvene za korake h i 2h.

Napomena. Na isti način smo mogli doći do trapezne formule, samo podintegralnu funkciju bi zamijenili linearnom (geometrijski, krivulju pravcem). Pokušajte .

Primjer 1. Simpsonovom formulom (pravilom) izračunajmo integral podjelom intervala integracije na

6 jednakih dijelova.

Rješenje: Napišimo m-file koji će računati integral po Simpsonovoj formuli za podintegralnu funkciju zapisanu kao m-file.

function Is=simpson(funkcija,a,b,n)

if 2*round(n/2)>n, error('greška,n mora biti paran'), end

argx='(x)';

h=(b-a)/n;

format rat % lakše pratimo raèun, barem ja

Page 23: lab vježbe

23

x=linspace(a,b,n+1)

y=eval([funkcija,argx]);

format long

Is=h/3*(y(1)+4*sum(y(2:2:n))+2*sum(y(3:2:n))+y(n+1));

Funkciju smo ranije zapisali i spremili pod imenom ft. Sada samo pozovemo funkciju simpson sa stvarnim argumentima: >> simpson('ft',1,2,6) x = Columns 1 through 6 1 7/6 4/3 3/2 5/3 11/6 Column 7 2 y = Columns 1 through 6 0 139/1052 449/2081 183/677 453/1478 934/2825 Column 7 794/2291 ans = 0.24018458162203

Točnost aproksimacije možemo provjeriti tako da povećavamo broj koraka (n) i pratimo znamenke koje se ne mijenjaju.

Što se desi ako stavimo da je n neparan? Uzmimo npr. n=7 , >> simpson('ft',1,2,7) ??? Error using ==> simpson greška,n mora biti paran.

Primjer 2. Simpsonovom formulom odredimo s točnošću

Rješenje: Najlakše rješavamo upotrebom funkcije quad(f,a,b,tol) , gdje tol određuje traženu grešku. Ako funkciju ne želimo spremati kao m-file, tada je pišemo: >> f=@(x)exp(x)./(x+1); % podintegralnu funkciju smo zadali kao, nazovimo je priručna funkcija >> Its=quad(f,0.2,1,0.5*10^(-5)) Its = 0.92416542633132

Isto se dobije ako se podintegralna funkcija spremi kao m-file pod imenom f3 i napiše: Its=quad('f3',0.2,1,0.5*10^(-5)); >> Its Its = 0.92416542633132

Primjer 3 . Podjelom intervala integracije na 8 jednakih dijelova izračunajmo integral i

procijenimo grešku.

Rješenje: function y=m(x)

y=exp(x.^2+1)

>> Ih=simpson('m',0,1,8)

x =

Columns 1 through 6

0 1/8 1/4 3/8 1/2 5/8

Columns 7 through 9

3/4 7/8 1

Page 24: lab vježbe

24

y =

Columns 1 through 6

1457/536 2739/992 2937/1015 2941/940 3253/932 1157/288

Columns 7 through 9

978/205 5325/911 2431/329

Ih = 3.97609447816791

>> I2h=simpson('m',0,1,4)

x =

0 1/4 1/2 3/4 1

y =

1457/536 2937/1015 3253/932 978/205 2431/329

I2h = 3.97877836223924

>> G=abs((Ih-I2h)/15) % procjena greške

G =1.789256047550166e-004

Zadaci

1. Napišite program koji će formulom lijevog pravokutnika aproksimirati .

2. Formulom lijevog pravokutnika za n=6 izračunajte

3. Napišite program koji će formulom desnog pravokutnika aproksimirati .

4. Formulom desnog pravokutnika za n=6 izračunajte

5. Koristeći trapeznu formulu izračunajte podjelom intervala integracije na 5 jednakih dijelova.

6. Trapeznom formulom odredite s točnošću

7. Simpsonovom formulom izračunajte integral podjelom intervala integracije na 10

jednakih dijelova.

8. Simpsonovom formulom odredite s točnošću

9. Podjelom intervala integracije na 12 jednakih dijelova izračunajte integral i procijenite grešku.

Aproksimacija funkcije

Neka su na neki način određene vrijednost varijable i vrijednost

nepoznate funkcije . Aproksimirati ovako zadanu funkciju znači naći analitički izraz (formulu) za

funkciju kojom možemo izračunavati približne vrijednosti nepoznate funkcije za argumente različite od zadanih.

Page 25: lab vježbe

25

Lagrangeov interpolacijski polinom

Neka su zadane vrijednost varijable i vrijednost . Tražimo polinom

stupnja ne višeg od n za koji će vrijediti: Definirajmo polinome

, ..., . Za svaki vrijedi

.

Polinom oblika

nazivamo Lagrangeovim interpolacijskim polinomom.

Primjer 1. Odredimo Lagrangeov interpolacijski polinom za podatke zadane tablicom :

-1 0 2

3 1 -2

Rješenje: Polinom nalazimo koristeći navedene formule, a račun izvodimo u Matlab-u.

>> syms x >> xz=[-1 0 2];% vektor zadanih x >> y=[3 1 -2]; % vektor zadanih y >> l0=(x-0)*(x-2)/((-1-0)*(-1-2)) % računamo pomoćne polinome l0 =1/3*x*(x-2) >> l1=(x-(-1))*(x-2)/((0-(-1))*(0-2)) l1 =-1/2*(x+1)*(x-2)

>> l2=(x-(-1))*(x-0)/((2-(-1))*(2-0)) l2 =1/6*(x+1)*x

>> l=[l0 l1 l2] % vektor pomoćnih polinoma l =[ 1/3*x*(x-2), -1/2*(x+1)*(x-2), 1/6*(x+1)*x]

>> L2=simple(sum(l.*y)) % Lagrangeov interpolacioni polinom 2. stupnja L2 =1/6*x^2-11/6*x+1

Sada kada smo naučili kako se formira Lagrangeov interpolacioni polinom, kao i u većini drugih slučajeva , traženi polinom možemo naći jednostavnije i brže . Matlab posjeduje funkciju polyfit(x,y,n) koja direktno računa polinom stupnja n za ulazne podatke x i y . Dovoljno je napisati: >> L2=polyfit(xz,y,2) L2 = 1/6 -11/6 1 Dobiveni brojevi odgovaraju koeficijentima polinoma(vektorski zapis polinoma).

Primjer 2. ¸Aproksimirajmo funkciju na segmentu [0,1] Lagrangeovim interpolacionim polinomom 3.

stupnja i izračunajmo

Rješenje: >> x=[0 0.2 0.6 1];>> y=exp(x); >> L3=polyfit(x,y,3)

Page 26: lab vježbe

26

L3 = 0.26531130611937 0.44571147972950 1.00725904261017 1.00000000000000 >> polyval(L3,0.5) % računamo vrijednost polinoma za x=0.5 ans = 1.64822130450238 >> exp(0.5) % računamo vrijednost funkcije za x=0.5 ans = 1.64872127070013

Vidimo da naš polinom dosta dobro aproksimira eksponencijalnu funkciju na segmentu [0,1]. Nacrtajmo i njihove grafove na segmentu [0,1]: >> x=0:0.05:1; >> L3=0.2653*x.^3+0.4457*x.^2+1.0073*x+1; >> plot(x,L3,x,exp(x),'*')

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 11

1.2

1.4

1.6

1.8

2

2.2

2.4

2.6

2.8

0.4996 0.4998 0.5 0.5002 0.5004 0.5006

1.6474

1.6476

1.6478

1.648

1.6482

1.6484

1.6486

1.6488

1.649

1.6492

1.6494

Na prvi pogled grafovi se podudaraju , ali ako sliku povećamo vidimo razliku. Svakako polinom dosta dobro aproksimira ekaponencijalnu funkciju (to smo potvrdili i računom i slikom).

Metoda najmanjih kvadrata

Neka su zadane točke . Metodom najmanjih kvadrata tražimo funkciju f

argumenta x odnosno njezine nepoznate parametre za koje funkcija

ima minimum. Nalaženjem i izjednačavanjem s nulom parcijalnih derivacija funkcije dobivamo m+1

Page 27: lab vježbe

27

jednadžbu sa m+1 nepoznanicom. Ako je aproksimativna funkcija polinom m-tog stupnja ( naš slučaj)

tada sustav ima oblik:

.

Za polinom 1. stupnja oblika pripadni sustav je:

Za polinom 2. stupnja oblika pripadni sustav je:

Primjer 1 . Metodom najmanjih kvadrata nađimo polinome 1. i 2. stupnja za podatke:

Rješenje: Problem ćemo riješiti prema ranije napisanim formulama pri čemu račun izvodimo Matlab-om: >> x=[1.1 1.9 4.1 6];>> y=[2.4 3.2 4.5 6.1]; >> x1=sum(x);x2=sum(x.^2);x3=sum(x.^3);x4=sum(x.^4); % računamo potrebne sume >> y1=sum(y);x1y1=sum(x.*y);x2y1=sum(x.^2.*y); >> A=[x1 4;x2 x1] % matrica koeficijenata A = 131/10 4

5763/100 131/10 >> B=[y1 x1y1]' % matrica slobodnih članova B = 81/5 6377/100

>> ab=inv(A)*B % rješavamo sustav ab = 713/980 917/550

>> a=ab(1,1) a = 713/980 >> b=ab(2,1) b = 917/550

Page 28: lab vježbe

28

Aproksimativni polinom 1. stupnja ima oblik . Za aproksimaciju polinomom 2. stupnja matrice

koeficijenata i slobodnih članova su:

>> A=[x2 x1 4;x3 x2 x1;x4 x3 x2] A = 5763/100 131/10 4 2638/9 5763/100 131/10 22303/14 2638/9 5763/100

>> B=[y1 x1y1 x2y1]' B = 81/5 6377/100 30041/97 >> abc=inv(A)*B abc = 148/9411 199/323 697/386

Polinom 2. stupnja ima oblik: . Kada smo ovo naučili , možemo problem riješiti i

ovako: >> polyfit(x,y,1) % aproksimacija polinomom 1. stupnja (vektorski zapis polinoma) ans = 713/980 917/550

>> polyfit(x,y,2) % aproksimacija polinomom 2. stupnja ans = 148/9411 199/323 697/386

Primjer 2. Aproksimirajmo metodom najmanjih kvadrata funkciju na segmentu (uzeti 5

vrijednosti za x) polinomom 1. i 2. stupnja i grafički ih prikažimo u istom koordinatnom sustavu . Rješenje: >> x=0:0.05:pi/2;>> y=sin(x);>> y1=polyfit(x,y,1)

y1 = 0.6698 0.1084

>> y2=polyfit(x,y,2) y2 = -0.3342 1.1879 -0.0211

>> plot(x,y,x,0.6429*x+0.1097,'-',x,-0.3346*x.^2+1.1685*x-0.005,'+')

Page 29: lab vježbe

29

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6-0.2

0

0.2

0.4

0.6

0.8

1

1.2

Zadaci

1. Napišite Lagrangeov interpolacioni polinom za podatke zadane tablicom:

a)

-2 -1 0 2

3 1 -2 4

b)

1.2 1.3 1.4 1.6 1.9

1.51 1.70 2.09 2.46 2.78

2.Za funkciju popunite tablicu i na osnovu te tablice aproksimirajte je Lagrangeovim polinomom 3.

stupnja i izračunajte približno log 0.7 . Nacrtajte grafove polinoma i logaritamske funkcijre.

0.3 0.6 0.8 0.9

)

3. Metodom najmanjih kvadrata odredite polinom 1. i 2. stupnja za podatke zadane tablicim:

a)

-3 -1 1 2

2 0 -1 3

b)

Page 30: lab vježbe

30

-1.23 0.34 2.35 2.98 3.12 4.34

-2.34 1.56 -3.27 4.32 -1.41 0.75

4. Na osnovu tablice koju treba popuniti,funkciju aproksimirajte po metodi najmanjih kvadrata

polinomom 1. i 2. stupnja na segmentu [-1,1] . Odredite približno cos(0.5)i nacrtajte grafove zadane funkcije i dobivenih aproksimacija.

-1 -0.4 0 0.2 0.7 1

)

VIEROJATNOST I STATISTIKA

Neki osnovni pojmovi

Mjerenjem n puta neke veličine X dobivamo niz brojeva . X nazivamo statističkim obilježjem, a

brojeve statističkim podacima. Statističko obilježje je diskretno ako X prima vrijednosti u

konačnom ili prebrojivom skupu. Ako X može imati bilo koju vrijednost unutar intervala skupa realnih brojeva govorimo o kontinuiranom statističkom obilježju. Broj pojavljivanja neke vrijednosti nazivamo frekvencijom f ,

a broj relativnom frekvencijom. Statističke podatke prikazujemo tablično i grafički. Kontinuirana obilježja (i

diskretna sa puno raličitih vrijednosti ) prikazuju se formiranjem razreda, kojima se raspon mogućih vrijednosti podijeli na više podintervala. Na osnovu tabličnog prikaza dobivamo grafički . Ako na x-os nanesemo različite vrijednosti obilježja X, a na y-os frekvencije odnosno relativne frekvencije , dobivamo grafikon frekvencija odnosno grafikon relativnih frekvencija. Spajanjem točaka dobivaju se odgovarajući poligoni. Kumulativne (i relativne kumulativne )frekvencije koje pripadaju vrijednosti x dobivamo zbrajanjem svih frekvencija za koje je

Podatke razvrstane u razrede obično prikazujemo pomoću histograma frekvencija.

Primjer 1.Rezultati ankete provedene među maturantima na pitanje :˝ Koliko ste puta u ožujku bili u sportskoj kladionici˝ su sljedeći : 3, 4, 0, 7, 0, 1, 1, 0, 4, 5, 7, 1, 3, 6 , 5, 0, 2,0, 1, 5, 7, 8, 8, 3, 3, 1,0, 0, 2,0. Odredimo pripadne frekvencije, relativne frekvencije i prikažimo grafički .

Rješenje: Zapišemo podatke kao vektor redak i sortiramo ga: >> x=[3, 4, 0, 7, 0, 1, 1, 0, 4, 5, 7, 1, 3, 6 , 5, 0, 2,0, 1, 5, 7, 8, 8, 3, 3, 1,0, 0, 2,0]; >> sort(x) ans = Columns 1 through 16 0 0 0 0 0 0 0 0 1 1 1 1 1 2 2 3

Columns 17 through 30 3 3 3 4 4 5 5 5 6 7 7 7 8 8

Napišimo program koji će prebrojati različite vrijednosti skupa zadanih podataka, tj. odrediti pripadne frekvencije :

function [a,f]=afr(x)

x=sort(x);

i=1; fr=1;

for j=2:size(x,2)% prolazimo po sortiranim podacima i usporeðujemo ih

if x(j)==x(j-1) fr=fr+1;

else f(i)=fr; a(i)=x(j-1); fr=1; i=i+1;

Page 31: lab vježbe

31

end

a(i)=x(j); f(i)=fr;

end

Pozovimo funkciju afr(x):

>> [a,f]=afr(x)

a =0 1 2 3 4 5 6 7 8

f =8 5 2 4 2 3 1 3 2

Relativne frekvencije ćemo odrediti po definiciji, dakle:

>> ref=1/size(x,2)*f

ref = Columns 1 through 6 4/15 1/6 1/15 2/15 1/15 1/10

Columns 7 through 9 1/30 1/10 1/15

ili

>> ref=1/sum(f)*f

ref = Columns 1 through 6 4/15 1/6 1/15 2/15 1/15 1/10

Columns 7 through 9 1/30 1/10 1/15

Sve prethodno možemo jednostavnije riješiti funkcijom tabulate(x) , koja nam direktno daje različite

vrijednosti mjerene veličine , frekvencije i relativne frekvencije (u postotcima). Napišimo:

>> tabfre=tabulate(x)

tabfre =

0 8.0000 26.6667

1.0000 5.0000 16.6667

2.0000 2.0000 6.6667

3.0000 4.0000 13.3333

4.0000 2.0000 6.6667

5.0000 3.0000 10.0000

6.0000 1.0000 3.3333

7.0000 3.0000 10.0000

8.0000 2.0000 6.6667

Za grafički prikaz (poligon frekvencija) dovoljno je napisati: >> plot(a,f)

>> grid

Page 32: lab vježbe

32

0 1 2 3 4 5 6 7 81

2

3

4

5

6

7

8

Isto napravimo i za poligon relativnih frekvencija : >> plot(a,ref)

0 1 2 3 4 5 6 7 80

0.05

0.1

0.15

0.2

0.25

0.3

0.35

Također, frekvencije diskretnog statističkog obilježja možemo prikazati grafikonom s uspravnim stupcima . Napišimo >> bar(a,f) ,>> title('Broj odlazaka maturanata u kladionicu u ožujku'),>> xlabel('broj odlazaka u kladionicu'),>> ylabel('broj maturanata')

Page 33: lab vježbe

33

0 1 2 3 4 5 6 7 80

1

2

3

4

5

6

7

8Broj odlazaka maturanata u kladionicu u ožujku

broj odlazaka u kladionicu

broj maturanata

Primjer 2. Mjerenjem težine (u kg) 30 maturanata dobiveni su sljedeći podaci: 78.4, 56.2, 86.5,74.2, 50.7, 80.0, 94.3, 67.6, 49.4, 58.7, 96.5, 49.8, 56.9, 47.8, 67.3, 85.4, 72.3, 59.4, 65.8, 85.1, 81.6, 93.7, 57.5, 76.2, 64.7, 54.3, 60.8, 51.6, 63.8, 81.3. Prikažimo (kontinuirane) podatke formiranjem 6 razreda .

Rješenje: Najprije napišemo m-file koji će odrediti širinu razreda, razrednu sredinu i prebrojati frekvencije u svakom od razreda: function [s,f,c]=sfc(x,r)

x=sort(x); najmanji=x(1); najveci=x(size(x,2));c=(najveci-najmanji)/r;

dg=najmanji:c:najveci-c; gg=dg+c;s=(dg+gg)/2; j=1; f=zeros(1,size(s,2));

for k=1:size(x,2)

if j==r, f(j)=size(x,2)-k+2; break , end

while x(k)>=gg(j)

if j<r, j=j+1;

else break, end

end

f(j)=f(j)+1;

end

>> x=[78.4, 56.2, 86.5,74.2, 50.7, 80.0, 94.3, 67.6, 49.4, 58.7, 96.5, 49.8, 56.9, 47.8, 67.3, 85.4, 72.3, 59.4, 65.8,

85.1, 81.6, 93.7, 57.5, 76.2, 64.7, 54.3, 60.8, 51.6, 63.8, 81.3];

>> [s,f,c]=sfc(x,6)

s = 51.8583 59.9750 68.0917 76.2083 84.3250 92.4417

f = 6 7 4 5 5 3

c = 8.1167

Podatke organizirane u razrede grafički prikazujemo pomoću histograma. Matlab posjeduje funkciju hist, pa je dovoljno napisati >> hist(x,6) ( % 6 razreda ) i dobivamo

Page 34: lab vježbe

34

40 50 60 70 80 90 1000

1

2

3

4

5

6

7

Numerički parametri niza statističkih podataka

Aritmetička sredina (srednja vrijednost, prosječna vrijednost) niza od n podataka s vrijednostima

je broj . Za niz podataka grupiranih u frekvencije aritmetička sredina (vagana ili

ponderirana) je , gdje su različite vrijednosti, a pripadne frekvencije.

Mod je ona vrijednost koja se u statističkom nizu pojavljuje najveći broj puta.

Medijan je ona vrijednost u nizu podataka poredanih po veličini koja ga dijeli na polovinu koja ima

vrijednost manju ili jednaku i polovinu koja ima vrijednost veću ili jednaku medijanu.

Donji (gornji) kvartil je vrijednost ispod koje se nalazi četvrtina (tri četvrtine)vrijednosti promatranog

niza podataka.

Varijanca (disperzija) je srednje kvadratno odstupanje pojedinačnih vrijednosti od aritmetičke

sredine. Računamo je formulama: odnosno

Standardna devijacija je pozitivni drugi korijen iz

Koeficijent varijacije V je postotak i pokazuje stupanj varijabilnosti podataka oko srednje

vrijednosti.

Primjer 3. Odredimo za podatke iz primjera 1 aritmetičku sredinu , mod, medijan , donji i gornji kvartil,

varijancu, standardnu devijaciju i koeficijent varijacije.

Rješenje: >> x=[3, 4, 0, 7, 0, 1, 1, 0, 4, 5, 7, 1, 3, 6 , 5, 0, 2,0, 1, 5, 7, 8, 8, 3, 3, 1,0, 0, 2,0];

>> as=sum(x)/size(x,2)

as = 2.9000

>> % ili >> as=mean(x), as = 2.9000 % ili >> [a,f]=afr(x);>> as=1/sum(f)*sum(a.*f), as = 2.9000.

U ožujku mjesecu su maturanti bili u prosjeku 2.9 puta u kladionici. Vrijednost moda lako se čita iz tablice

distribucije i to je ona vrijednost koja ima najveću frekvenciju. Napišemo li >> [a,f]=afr(x) dobiva se

a = 0 1 2 3 4 5 6 7 8, f = 8 5 2 4 2 3 1 3 2 odakle čitamo da je mod 0. Isto

Page 35: lab vježbe

35

dobijemo ako napišemo: >> mode(x), ans = 0 . Medijan i kvartile možemo odrediti pomoću funkcije

prctile(x,a) i to svaki posebno ili odjednom: >> prctile(x,[25,50,75]) , ans = 0 2.5000 5.0000 ili samo

>> median(x), ans = 2.5000. Donji kvartil je 0, medijan 2.5, a gornji kvartil 5. Za računanje varijance imamo

puno načina. Evo nekih: >> varijanca=1/size(x,2)*sum((x-as).^2), varijanca = 7.1567 ili

>> varijanca=1/sum(f)*(sum(f.*a.^2)-sum(f)*as^2) ili ... . Možemo koristiti i funkciju var(x,1) pomoću koje

direktno dobivamo vrijednost varijance: >> var(x,1), ans = 7.1567. Po definiciji standardna devijacija je

drugi korijen iz varijance. Možemo je izračunati tako da napišemo: >> standd=sqrt(var(x,1)), standd =

2.6752 ili pomoću funkcije std(x,1), >> standd=std(x,1), standd = 2.6752.

Napomena. Kada koristimo funkcije var(x) i std(x) (bez 1), tada nazivnik nije n nego n-1 i ove funkcije

uglavnom koristimo kod procjene varijance i standardne devijacije.

Koeficijent varijacije ćemo izračunati prema ranije navedenoj formuli: >> kovar=std(x,1)/mean(x)*100

kovar = 92.2481 , što znači veliku varijabilnost (92.2481 %) podataka oko aritmetičke sredine.

Primjer 4. Odredimo aritmetičku sredinu, varijancu i standardnu devijaciju za podatke iz primjera 2.

Rješenje: Račun provodimo prema formulama za podatke grupirane u razrede . Umjesto stvarnih

vrijednosti u formule uvrštavamo razredne sredine. >> x=[78.4, 56.2, 86.5,74.2, 50.7, 80.0, 94.3, 67.6, 49.4,

58.7, 96.5, 49.8, 56.9, 47.8, 67.3, 85.4, 72.3, 59.4, 65.8, 85.1, 81.6, 93.7, 57.5, 76.2, 64.7, 54.3, 60.8, 51.6,

63.8, 81.3];>> [s,f,c]=sfc(x,6); >> as=sum(f.*s)/sum(f), as = 69.4444, >> varijanca=(sum(f.*s.^2)-

as^2*sum(f))/sum(f), varijanca = 180.4388, >> standd=sqrt(varijanca), standd = 13.4327. Ovako

dobiveni rezultati se (naravno) razlikuju (manje točni) od rezultata koje bi dobili da smo radili sa

negrupiranim podacima. Izračunajmo : >> as=mean(x), as = 68.9267, >> var(x,1), ans = 209.1486,

>> standd=sqrt(ans), standd = 14.4620.

Zadaci

1. Skup statističkih podataka zadan je tablicom :

Frekvencije

2

3

4

5

6

10

15

5

20

10

60

a) nacrtajte poligon frekvencija b) odredite aritmetičku sredinu , varijancu i standardnu devijaciju.

2. Zadana je tablica statističkih podataka razvrstanih u razrede :

Razredi Frekvencije

Page 36: lab vježbe

36

3-5

5-7

7-9

9-11

11-13

13-15

15-17

4

6

20

40

20

4

6

100

a) nacrtajte histogram frekvencija, b) odredite aritmetičku sredinu, varijancu i standardnu devijaciju

3. Mjerenjem kontinuiranog statističkog obilježja dobiveni su sljedeći podaci : 3.23, 4.57, 2.53, 7.58, 6.37,5.45,

4.12, 5.07,3.50, 2.96, 5.13, 4.34, 5.21, 3.67, 6.87, 5.08,4.23, 4.65,3.76, 3.42, 2.35,5.13, 6.02, 3.20, 5.35, 7.05,

4.80, 5.93, 4.17, 2.74, 6.21, 5.05, 4.76, 3.17, 6.19, 5.37, 4.34, 2.90, 3.59, 5.50, 3.47,6.26,7.08, 3.37, 3.64, 6.48,

5.68, 4.57, 3.95, 5.25. a) Grupirajte podatke u 10 razreda i nacrtajte histogram frekvencija;

b) Odredite aritmetičku sredinu, varijancu i standardnu devijaciju .

Kombinatorika

Za m skupova koji imaju elemenata , skup ima

elemenata (teorem o uzastopnom prebrojavanju) . Svaka uređena n –torka međusobno različitih elemenata

skupa naziva se permutacija skupa T . Ukupan broj permutacija P(n)skupa od n elemenata

je . Ako se u permutaciji nalazi međusobno jednakih elemenata tada se radi o

permutacijama s ponavljanjem. Broj svih mogućih takovih permutacija je .

Kombinacija (bez ponavljanja) tog razreda od elemenata je svaki podskup od tih

elemenata. Broj svih kombinacija r-tog razreda od n elemenata je: . Kombinacija s

ponavljanjem r-tog razreda n-članog skupa je svaka neuređena r-torka tih elemenata. Ukupno ih

je . Varijacija bez ponavljanja r-tog razreda od n međusobno različitih

elemenata je svaka uređena r-torka ( tih elemenata . Broj ovako definiranih varijacija je:

. Ako se u varijaciji dopusti da pojedini elementi nastupe više puta tada govorimo o

varijacijama s ponavljanjem r-tog razreda od n elemenata . Ukupan broj varijacija s ponavljanjem je .

Primjer 1. a) Odredimo broj načina na koje možemo izabrati po jednu jednu knjigu iz matematike, fizike i kemije

ako knjižnica ima 30 knjiga iz matematike 25 iz fizike i 20 iz kemije.

Rješenje: Prema zakonu o uzastopnom prebrojavanju ukupan broj trojki je

Page 37: lab vježbe

37

Primjer 2. Odredimo a) broj permutacija napravljenih od slova riječi vsite , b) na koliko načina možemo

posaditi 10 paprika, 10 rajčica i 5 zelja na 25 označenih mjesta , c) ukupan broj kombinacija lota 6 od 45, d) broj

različitih načina na koje je moguće sastaviti orkestar od 5 članova i 3 vrste instrumenata , e) na koliko se načina

mogu odabrati 4 dužnosnika od 9 članova nekog odbora pri čemu se može imati najviše jedna funkcija, f) broj

peteroznamenkastih brojeva koji se mogu zapisati pomoću znamenki 3, 5 i 9.

Rješenje: a) >> P5=factorial(5), P5 = 120, b) radi se o permutacijama s ponavljanjem i traženi broj je:

>> PP=factorial(25)/(factorial(10)^2*factorial(5)), PP = 9.816086280000000e+009 , c) često nam trebaju

binomni koeficijenti i zato napišimo program koji ih računa (imali smo slično ranije) :

function y=bk1(n,k)

y=1;

for i=0:k-1

y=y*(n-i)/(k-i);

end

U bk1 stavimo n=45, k=6 pa dobivamo: >> bk1(45,6), ans = 8145060 . d) radi se o kobinacijama s

ponavljanjem petog razreda od 3 elementa, pa je >> kp=bk1(3+5-1,5), kp = 21, e) broj načina izbora su sve

varijacije bez ponaljanja 4-tog razreda od 9 elemenata tj. ili

>> vbp=factorial(9)/factorial(9-4), vbp = 3024 , f) Ukupan broj su varijacije s ponavljanjem 5-tog razreda od 3

elementa, pa je .

Vjerojatnost

Svaki slučajni eksperiment završava nekim ishodom ili događajem . Neka je skup svih mogućih ishoda ili kako

često kažemo skup svih elementarnih događaja nekog eksperimenta. Svaki podskup skupa nazivamo

događajem. Kako su podskupovi skupa onada su i oni događaji i nazivamo ih nemogućim ( i sigurnim

događajima. Događaju A je suprotan događaj . Događaj je unija događaja A i B i dogodi se kada se

dogodi bar jedan od događaja A , B. Događaj je presjek događaja A i B i dogodi se kada se dogode i A i B.

Ako je kažemo da se događaji A i B međusobno isključuju ili da su disjunktni. Događaj naziva se

razlika događaja A i B i dogodi se kada se dogodi A i ne dogodi B.

Definicija: Neka je zadan skup . Funkciju koja događaju A pridružuje broj tako da je i

ako nazivamo vjerojatnost.

Vrijedi: 1) , 2) 3)

Ako je skup elementarnih događaja konačan sa n jednako vjerojatnih ishoda i događaj A sa m povoljnih ishoda,

tada je vjerojatnost događaja A prema klasičnoj definiciji: .

Za broj nazivamo uvjetna vjerojatnost događaja A u odnosu na događaj B. Ako je

tada vrijedi: (Bayesova formula).

Događaji A i B su nezavisni ako je .

Page 38: lab vježbe

38

Ako je mjera (duljina, površina,...) cijelog područja S, a mjera dijela tog područja povoljna za ishod slučajnog

događaja onda se (geometrijska) vjerojatnost događaja definira formulom .

Primjer 1. Ako je , a P funkcija vjerojatnosti , izračunajmo ako je

Rješenje: Kako je zbroj vjerojatnosti elementarnih događaja 1, treba riješiti

sustav: Uvrštavajući poznate podatke u posljednju

jednadžbu dobivamo: >> format rat >> p2=1-(2/5-2/5/2-2/5/3), p2 =

14/15 .

Primjer 2. U kutiji se nalazi 14 kuglica, 5 bijelih i 9 crnih. Slučajno izvlačimo jednu kuglicu. Odredimo vjerojatnost

da će biti izvučena kuglica a) biti bijela , b) biti crna.

Rješenje: Neka su A={izvučena je bijela guglica}, B= {izvučena je crna kuglica}. Odmah se vidi da je a) ,

b) .

Primjer 3. U skupu od 50 proizvoda ima 8 neispravnih. Odredimo vjerojatnost da među 6 slučajno izabrana

proizvoda a) ima 5 neispravnih, b) nema ispravnih, c) nema neispravnih.

Rješenje: Od 50 proizvoda njih 6 biramo na načina , 5 neispravnih na , itd., Zato je

a) >> p5n=bk1(8,5)*bk1(42,1)/bk1(50,6), p5n = 4/27025, b)>> pni=bk1(8,6)/bk1(50,6), pni = 1/567525,

c)>> pnn=bk1(42,6)/bk1(50,6), pnn = 650/1969 .

Primjer 4. U skupu od 10 ulaznica pet ima vrijednost 10 kn, tri su po 30 kn i dvije vrijede 50 kn. Ako se slučajno

izvlače tri ulaznice, odredimo vjerojatnost da a) vrijednost sve tri ulaznice je 70 kn, b)bar dvije ulaznice su iste

vrijednosti.

Rješenje: a) pa prema tome je vjerojatnost da zbroj bude 70:

>> p70=bk1(5,2)*bk1(2,1)/bk1(10,3)+bk1(5,1)*bk1(3,2)/bk1(10,3), p70 = 7/24 .

b) Događaju ˝bar dvije ulaznice iste vrijednosti˝, je suprotan ´sve tri ulaznice različite vrijednosti ˝pa je:

>> p=1-bk1(5,1)*bk1(3,1)*bk1(2,1)/bk1(10,3), p = 3/4

Primjer 5. U kutiji koja sadrži 6 bijelih i 4 crne kuglice slučajno je izvučeno 3 kuglice. Pod pretpostavkom da su

izvučene kuglice iste boje , odredimo vjerojatnost da su crne .

Rješenje: Stavimo A={ izvučene su 3 crne kuglice}, B= {izvučene su 3 crne ili 3 bijele kuglice} i izračunajmo

. Prema formuli uvjetne vjerojatnosti uz imamo:

. >> pab=bk1(4,3)/(bk1(4,3)+bk1(6,3)), pab = 1/6.

Page 39: lab vježbe

39

Primjer 6. Odredimo vjerojatnost da umnožak dva slučajno izabrana realna broja iz segmenta [0,1] bude veći od

0.4.

Rješenje: Neka su to brojevi Tada prema uvjetima zadatka moguće vrijednosti su: a povoljne

. Mogući formiraju kvadrat površine 1, a povoljni su izvan hiperbole Možda nam malo i

slika pomogne: >> y=0.4/x;>> ezplot(y,[0,1]),>> ylim([0,1]),>> grid

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

x

2/5/x

Sada izračunajmo površinu koju određuju jedinični kvadrat i područje izvan hiperbole, tj. tražimo povšinu skupa

u kojem vrijedi . Malo matematičke analize i lako stižemo do rješenja:

>> P=0.6-int(y,0.4,1),P =3/5+2/5*log(2)-2/5*log(5), >> subs(P), ans = 0.23348370725034 što je i konačan

rezultat, jer je površina jediničnog kvadrata 1.

Zadaci

1. Odredite broj različitih 6-znamenkastih brojeva koji ne sadže znamenke 0, 3 i 5.

2. Odredite broj različitih načina na koje možemo složiti otvorenu ogrlicu od 8 v, 5 s i 9 m bisera.

3.Ako test ima 10 pitanja sa odgovorima da, ne, odredite ukupan broj načina na koje se test može riješiti.

4.Na polici se nalazi 15 knjiga iz matematike i 5 iz kemije. Odredite ukupan broj rasporeda na polici tako da na

prvih 5 mjesta dođu knjige iz kemije.

5. Iz špila od 32 karte nasumice se izvlače 3. Odredite vjerojatnost da će među njima biti barem jedan as.

6. Odredite vjerojatnost da će zbroj dva slučajno izabrana broja iz [0,1] biti manji od 1 a njihov umnožak veći od

0.25.

7.Strijelac A pogađa metu s a vjerojatnošću 0.6, a B s vjerojatnošću 0.7. Odredite vjerojatnost pogađanja cilja

ako svaki ispaljuje po jedan metak.

8. Kutija sadrži 12 teniskih loptica od kojih su 4 loše. Slučajno se izvlači odjednom 7 loptica. Odredite

vjerojatnost da među izvučenim lopticama : a) 2 su loše , b) nema loših

Slučajna varijabla

Neka je na skupu elementarnih događaja definirana funkcija vjerojatnosti P. Funkciju nazivamo

slučajna varijabla ili slučajna veličina. Za promatramo skup kojeg kraće označavamo

Page 40: lab vježbe

40

, pri čemu za jednočlan skup B pišemo , pišemo ili

itd. Funkciju definiranu izrazom nazivamo funkcijom razdiobe ili

funkcijom distribucije slučajne varijable X.

Vrijedi: 1) Funkcija distribucije je rastuća funkcija i neprekidna s desna, 2) .

Ako slučajna varijabla X prima vrijednosti ) na konačnom ( prebrojivom) skupu s pripadnim

vjerojatnostima , tada je nazivamo diskretnom slučajnom varijablom. Njezina

funkcija distribucije je .

Ako za slučajnu varijablu X gotovo svuda postoji onda se f(x)

naziva funkcija gustoće vjerojatnosti u točki x, a za X kažemo da je kontinuirana slučajna varijabla.

Vrijedi :

.

Matematičko očekivanje (srednja vrijednost) diskretne slučajne varijable X računa se formulom:

Matematičko očekivanje kontinuirane slučajne varijable X računa se formulom: .

Disperzija ili varijanca diskretne slučajne varijable X računa se formulom: 2.

Disperzija ili varijanca kontinuirane slučajne varijable X računa se formulom: 2 .

Standardna devijacija slučajne varijable X je broj: .

Primjer 1. Distribucija vjerojatnosti diskretne slučajne varijable X zadana je tablicom:

-2 -1 0 1 2

0.15 a 0.3 0.07 0.1

a) odredimo realan broj a, b) napišimo izraz i nacrtajmo graf funkcije distribucije, c) odredimo očekivanje,

varijancu i standardnu derivaciju

Rješenje: a) Kako zbroj vjerojatnosti mora biti 1, onda je : >> a=1-(0.15+0.3+0.07+0.1), a = 0.3800.

b) Koristeći definiciju i tablicu, dobivamo :

Grafički prikaz: > plot(-4:0.1:-2,0,'*',-2:0.1:-1,0.15,'*',-1:0.1:0,0.53,'*',0:0.1:1,0.83,'*',1:0.1:2,0.9,'*',2:0.1:4,1,'*')

>> grid

Page 41: lab vježbe

41

-4 -3 -2 -1 0 1 2 3 40

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

c) Prema gore navedenim formulama imamo: >> ak=[-2 -1 0 1 2];>> pk=[0.15 0.38 0.3 0.07 0.1];

>> EX=sum(ak.*pk), EX = -0.4100; >> VarX=sum(ak.^2.*pk)-EX^2, VarX = 1.2819, >> stdd=sqrt(VarX)

stdd = 1.1322.

Primjer 2. Ispitajmo da li je funkcija funkcija gustoće neke slučajne

varijable X i odredimo pripadnu funkciju distribucije .

Rješenje: Funkcija je očito nenegativna i provjerimo da li vrijedi: . Integral računamo na

, jer izvan je funkcija 0, pa je i integral 0. >> syms x, >> int(2*cos(x)^2/pi,-pi/2,pi/2), ans =1.

Odgovor je: zadana funkcija je funkcija gustoće. Nađimo pripadnu funkciju distribucije koristeći definiciju:

. Za

3) =1. Izračunajmo integral pod 2):

>> pretty(simple(int(2*cos(t)^2/pi,-pi/2,x)))

sin(2 x) + 2 x + pi

1/2 -------------------

pi

Iz dobivenih podataka nalazimo:

Primjer 3. Slučajna varijabla X ima funkciju razdiobe . Odredimo a) očekivanje i

varijancu pripadne distribucije, b) .

Page 42: lab vježbe

42

Rješenje: a) >> EX=int(x*diff(1-8/x^3),2,inf), EX =3 , >> VarX=int((x-EX)^2*diff(1-8/x^3),2,inf),

VarX = 3, ili >> VarX=int(x^2*diff(1-8/x^3),2,inf)-EX^2, VarX =3.

b) .

Binomna i Poissonova razdioba

Kažemo da diskretna slučajna varijabla X ima binomnu razdiobu s parametrima ,

i pišemo ako ima skup vrijednosti i za pripadne vjerojatnosti vrijedi:

U binomnoj razdiobi (distribuciji) matematičko očekivanje je: , a varijanca (disperzija):

.

Kažemo da diskretna slučajna varijabla X ima Poissonovu razdiobu s parametrom i pišemo

ako ima skup vrijednosti i pripadne vjerojatnosti: :

.

U Poissonovoj razdiobi matematičko očekivanje je: , a varijanca (disperzija): .

Za veliko i malo binomna razdioba može se aproksimirati Poissonovom razdiobom .

Primjer 1. Ako je odredimo a) , b)

Rješenje: Za računanje navedenih vjerojatnosti koristimo funkciju Matlab-a binopdf(x,n,p), koja računa po

binomnom zakonu vjerojatnost da slučajna varijabla poprimi vrijednost x i funkciju binocdf(x,n,p) koja zbraja

vjerojatnosti do x, tj. određuje:

a) . Zato je: >> p=binocdf(1,5,0.2), p = 0.7373 ili >>

p=binopdf(0,5,0.2)+binopdf(1,5,0.2), p = 0.7373.

b) >> p=binopdf(3,5,0.2)+binopdf(4,5,0.2), p = 0.0576.

c) Događaji kojima računamo vjerojatnost pod a) i c) su suprotni , pa je

>> p=1-binocdf(1,5,0.2),p = 0.2627.

Primjer 2. Skup od 100 proizvoda sadrži 10 neispravnih. Ako se slučajno uzme 5 proizvoda, odredimo

a) skup vrijednosti , pripadne vjerojatnosti i očekivani broj neispravnih proizvoda sadržanih u slučajnom uzorku,

b) vjerojatnost da uzorak sadrži više od 2 neispravna proizvoda, c) bar jedan loš proizvod.

Rješenje: a) Radi se očito o binomnoj razdiobi s parametrima pri čemu je skup vrijednosti

a pripadne vjerojatnosti . Imamo: >> format rat

>>k=0:5 ;

>>p(k+1)=binopdf(k,5,0.1)

p = 1217/2061 683/2082 729/10000 81/10000 9/20000 1/100000

Očekivani broj neispravnih proizvoda računamo po formuli .

Page 43: lab vježbe

43

b) Sadržavati više od dva znači da neispravnih može biti 3, 4 ili 5. Dakle , treba

izračunati: . >> pvise2=p(4)+p(5)+p(6) % povećali smo indeks za 1 ,jer ne

može biti 0 pvise2 = 107/12500 ili >>

pvise2=binopdf(3,5,0.1)+binopdf(4,5,0.1)+binopdf(5,5,0.1), pvise2 = 107/12500. Isti rezultat dobijemo koristeći

funkciju binocdf(x,n,p) . Događaju više do 2 je suprotan događaj da slučajna varijabla uzme vrijednost 0, 1 ili 2.

Zato je >>pvise2= 1-binocdf(2,5,0.1),pvise2 = 107/12500.

c) Događaju ˝bar jedan neispravan˝ je suprotan događaj ˝0,nema neispravnih˝ . Zato je

>> bar1n=1-binopdf(0,5,0.1), bar1n = 844/2061 .

Primjer 3. Neki stroj proizvodi s vjerojatnošćo 0.04 neispravan proizvod. U uzorku od 5 nasumce izabranih

proizvoda odredimo broj x tako da je .

Rješenje:Funkciji y= binocdf(x,p,n) je inverzna funkcija x= binoinv(y,n,p) , gdje je y broj u [0,1] ili vektor s

komponentama u [0,1], a n i p parametri binomne razdiobe. Prema tome je: >> x=binoinv(0.91,5,0.04) ,

x = 1.

Primjer 4. Ako je , odredimo a) .

Rješenje: Analogno kao funkcije binocdf, binopdf odnosno binoinv , funkcije poisscdf , poisspdf

odnosno poissinv određuju odgovarajuće vjerojatnosti odnosno vrijednost po Poissonovom zakonu.

a) >> p1=poisspdf(1,2), p1 = 0.2707,

b) >> pm3=poisspdf(0,2)+poisspdf(1,2)+poisspdf(2,2), pm3 = 0.6767 ili >> poisscdf(2,2), ans = 0.6767,

c) >> pv0mj2=poisspdf(1,2)+poisspdf(2,2), pv0mj2 = 0.5413

d) >> pvj3=1-pm3 pvj3 = 0.3233 ili >> pvj3=1-poisscdf(2,2), pvj3 = 0.3233.

Primjer 5. Jedna telefonska centrala primila je tokom jednog sata 210 poziva. Odredimo vjerojatnost da u jednoj

minuti a)je bilo točno 5 poziva, b) nije bilo poziva.

Rješenje: Parametar , . a) >> p5=poisspdf(5,3.5), p5 = 0.1322,

b) >> p0=poisspdf(0,3.5), p0 = 0.0302

Primjer 6. Poznato je da ljevorukih ljudi ima 1%. Odredimo vjerojatnost a) da među 1000 slučajno odabranih

ljudi bude 15 ljevorukih, b) bar 15 ljevorukih , c) nađimo očekivanje i varijancu.

Rješenje : Kako je aproksimirajmo Poissonovom razdiobom

.

a) >> p15=poisspdf(15,10), p15 = 0.0347

b) >> pb15=1-poisscdf(14,10), pb15 = 0.0835

c)

Usporedimo dobivene rezultate (približne) sa točnim rezultatima dobivenim po formulama za binomnu

razdiobu: a) >> p15=binopdf(15,1000,0.01),p15 = 0.0345, b) >> pb15=1-binocdf(14,1000,0.01),pb15 = 0.0824:

Page 44: lab vježbe

44

Uočavamo da je greška pod a) u četvrtoj decimali , a pod b) trećoj decimali i da Poissonova razdioba dosta

dobro aproksimira binomnu, a puno je jednostavnija za računanje kada se radi o velikim brojevima.

Napomena: Kako su nam poznate formule binomne i Poissonove razdiobe, pokušajte napisati programe (m-file)

kojima izračunavamo vjerojatnost da slučajna varijabla X poprimi vrijednost .

Kontinuirane razdiobe

Uniformna razdioba s parametrima definirana je funkcijom gustoće vjerojatnosti:

Vrijedi: 1) 2)

Normalna ili Gaussova razdioba s parametrima i definirana je funkcijom gustoće

vjerojatnosti:

Normalnu razdiobu nazivamo standardna (jedinična) normalna razdioba i njezine funkcije gustoće i

distribucije su: .

Vrijedi: 1) , 2) (umjesto znaka < može

stajati znak , 3) , 4)

Eksponencijalna razdioba parametra definirana je funkcijom gustoće vjerojatnosti:

Vrijedi: 1) 2) .

Primjer 1. Ako je , odredimo a) .

Rješenje: Zadatak možemo riješiti koristeći formulu funkcije distribucije uniformne razdiobe ili direktno pomoću

funkcije unifcdf(x,a,b) gdje su a, b parametri , a x argument funkcije distribucije (zadana vrijednost) . Općenito,

a,b i x mogu biti matrice . Za izračunavanje vrijednost funkcije gustoće vjerojatnosti koristimo funkciju

unifpdf(x,a,b). Sada nam nije teško riješiti naš zadatak.

a) >> syms x

>> a=2;b=6;

>> Fx=(x-a)/(b-a);

>> PXm3=subs(Fx,3) , PXm3 = 0.2500 ili >> Pxm3=unifcdf(3,2,6) , Pxm3 = 0.2500.

Page 45: lab vježbe

45

Ako želimo izračunati f(-2), f(1), f(5), f(13) dovoljno je napisati: >> x=[-1,2,5,13]; fx=unifpdf(x,2,6),

fx = 0 0.2500 0.2500 0 (vidjeti funkciju gustoće uniformne distribucuje).

b) >> PX35=unifcdf(5,2,6)-unifcdf(3,2,6), PX35 = 0.5000 ili >> PX35=int(1/(6-2)*x^0,3,5), PX35 =1/2.

c) >> PXvj4=1-unifcdf(4,2,6), PXvj4 = 0.5000

Primjer 2. Neka je . a) Odredimo x tako da je , b) .

Rješenje: a)U Matlab postoji funkcija unifinv(p,a,b) koja je inverzna je Matlab funkciji unifcdf(x,a,b) , tj.

određuje inverz za funkciju razdiobe F(x). Prema tome, >> format rat, >> x=unifinv(1/3,0,4), x = 4/3 .

b) >> EX=int(1/4*x,0,4), EX =2, >> VarX=int(1/4*x^2,0,4)-EX^2, VarX =4/3. Očekivanje i varijancu smo mogli

naći bez integracije, pomoću formula .

Napomena. Ako se u naredbama iz primjera 1 i 2 ne navode parametri a i b onda su oni 0 i 1 i govorimo o

standardnoj uniformnoj razdiobi.

Primjer 3. Neka je (standardna normalna razdioba) odredimo a)

c) .

Rješenje: Analogno uniformnoj razdiobi , postoje Matlab funkcije pomoću kojih određujemo vjerojatnosti da

normalno distribuirana slučajna varijabla poprimi zadanu vrijednost. Također, pomoću računala potrebne račune

možemo izvesti na razne načine, pri čemu koristimo definicije, svojstva, integralni račun,... i Matlab-ovu

funkciju erf . Vrijedi : ,a otuda .

Funkcijom normcdf (x, ) nalazimo vjerojatnost p da normalno distribuirana slučajna varijabla X

padne u interval tj. računamo a funkcijom norminv(p, ) nalazimo interval vrijednosti

slučajne varijable X za koji je . računamo .

a) Uzevši u obzir ranije navedeno, naš račun je sljedeći: >> syms t

>> p05=subs(1/sqrt(2*pi)*int(exp(-t^2/2),-inf,0.5)), p05 =0.6915 ili >> p05=normcdf(0.5),p05 =0.6915

ili >> p05=0.5*erf(0.5/sqrt(2))+0.5, p05 = 0.6915.

b) >> p=normcdf([-1,2]); >> pmin1do2=p(2)-p(1), pmin1do2 = 0.8186 ili

>> pmin1do2=normcdf(2)-normcdf(-1), pmin1do2 = 0.8186 ili …

c) >> pv1ipo=1-normcdf(1.5),pv1ipo = 0.0668

d) >> a=norminv(0.5), a = 0

Ako se radi o standardnoj normalnoj razdiobi ne treba navoditi parametre

Primjer 4.Visina čovjeka normalno je distribuirana slučajna varijabla X s parametrima

Odredimo: a) Postotak ljudi s visinom između 165 i 185 (cm), b)

vjerojatnost da slučajna varijable X poprimi vrijednost veću od 200 (cm), c) graničnu visinu ispod koje

se nalazi 1% ljudi.

Page 46: lab vježbe

46

Rješenje: a) >> p=normcdf([165,185],174,9); >> p165185=p(2)-p(1), p165185 = 0.7305, što znači da

73.05% ljudi je visine od 165 do 185 cm.

b) >> pv200=1-normcdf(200,174,9), pv200 = 0.0019

c) >> a=norminv(0.01,174,9), a = 153.0629

Primjer5. Slučajna varijabla X distribuirana je po normalnom zakonu s parametrima .

Odredimo varijancu tako da vjerojatnost pripadanja intervalu [1,3] slučajne varijable X bude

najveća.

Rješenje: Derivirajući kompoziciju

funkcija dobivamo: . Nužan uvjet ekstrema

je i kako je dobivamo : Broj 3 možemo

zapisati kao , pa je , i konačno

Primjer 6. Nacrtajmo grafove funkcija gustoće i razdiobe za eksponencijalnu distribuciju .

Rješenje: Grafove možemo nacrtati koristeći ranije navedene formule:

>> syms x t

>> f=2*exp(-2*t);>> ezplot(f,[0,4])

>> grid

0 0.5 1 1.5 2 2.5 3 3.5 4

0

0.2

0.4

0.6

0.8

1

1.2

1.4

t

2 exp(-2 t)

>> F=1-exp(-2*x);>> ezplot(F,[0,4]),>> grid

Page 47: lab vježbe

47

0 0.5 1 1.5 2 2.5 3 3.5 4

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

x

1-exp(-2 x)

Matlab-funkcije pomoću kojih direktno računamo vrijednosti navedenih funkcija su:

Za određivanje

koristimo se funkcijom .

Primjer 7. Funkcija raspodjele slučajne varijable X eksponencijalno distribuirane ima oblik:

Odredimo a) b) očekivanje i varijancu

Rješenje: a) Parametar a ima vrijednost 0.5 i prema tome je: >> p=expcdf([1 3],1/0.5); >> p13=p(2)-p(1)

p13 = 0.3834

b) E[X]= , E[X]=2, Var[X]= , Var[X ]=4.

Primjer 8. Vijek trajanja jedne vrste otpornika slučajna je varijabla X eksponencijalno distribuirana

s očekivanom vrijednosti 500 (h). Nađimo vjerojatnost da a) vrijeme trajanja bude manje od 400 (h),

b) da vrijeme trajanja bude veće od 700 (h).

Rješenje: Iz .

a)Bez računala račun je sljedeći:

. Pomoću Matlab-a postupak

je: >> pm400=expcdf(400,500), pm400 = 0.5507.

b)

Brže i jednostavnije je napisati: >> pvj700=1-expcdf(700,500), pvj700 = 0.2466.

Page 48: lab vježbe

48

Prilagodba trorijske razdiobe empirijskim podacima

Za određivanje parametara pretpostavljene teorijske razdiobe s jednim parametrom (Poissonova i

eksponencijalna) izjednačavamo izračunatu aritmetičku sredinu sa nepoznatim očekivanjem, tj.

stavljamo: Kod razdiobe s dva nepoznata parametra (binomna, uniformna ili normalna)

aritmetičku sredinu izjednačimo s očekivanjem, a varijancu izmjerenih statističkih podataka s

nepoznatom varijancom teorijske razdiobe, tj. riješimo sustav: .

Primjer 1. Mjerenjem vremena zakašnjenja jednog vlaka kroz 30 dana na željezničkoj postaji A

dobiveni su sljedeći podaci: 2,5,17, 0, 1, 10, 45, 22, 50, 31, 11,8, 12, 44, 23, 5, 3,34,16, 21, 5, 1, 5, 23,

17, 12, 4,20, 3,31. Uz pretpostavku da je zakašnjenje vlaka distribuirano po Poissonovoj razdiobi

odredimo tako da najbolje odgovara dobivenim podacima.

Rješenje: Dovoljno je naći aritmetičku sredinu izmjerenih podataka i izjednačiti je s

>> x=[2,5,17, 0, 1, 10, 45, 22, 50, 31, 11,8, 12, 44, 23, 5, 3,34,16, 21, 5, 1, 5, 23, 17, 12, 4,20, 3,31];

>> as=mean(x), as = 16.0333 . Radi se o .

Primjer 2. Mjerenjem je dobiven skup podataka: 1,0,3,2,4,6,3,1,4,6,1,0,5,2,3,2,4,3,1,3,2,4,5,2,1,2,0,4,3,6.

Odredimo binomnu razdiobu koja najbolje odgovara izmjerenim podacima i pripadne teorijske

frekvencije.

Rješenje: >> x=[1,0,3,2,4,6,3,1,4,6,1,0,5,2,3,2,4,3,1,3,2,4,5,2,1,2,0,4,3,6];

>> tabulate(x)

Value Count Percent

0 3 10.00%

1 5 16.67%

2 6 20.00%

3 6 20.00%

4 5 16.67%

5 2 6.67%

6 3 10.00%

>> as=mean(x), as = 2.7667

>> vari=var(x),vari = 3.1506

>> p=as/6, p = 0.4611

Page 49: lab vježbe

49

>> for k=0:6

ft(k+1)=round(30*binopdf(k,6,0.4611));

end

>> ft

ft = 1 4 8 9 6 2 0

Odstupanja teorijskih i izmjerenih frekvencija možemo vidjeti ako nacrtamo sliku.

>> f=[3,5,6,6,5,2,3]; % frekvencije, drugi stupac iz tablice tabulate(x)

>> hold on

>> plot(ft,'+')

>> plot(f,'.')

1 2 3 4 5 6 70

1

2

3

4

5

6

7

8

9

Matlab crta točke ( 1, f11 ), (2,f12), … ,(7,f17), a kako f11 pokazuje frekvenciju 0, f12 frekvenciju 1,… to su

stvarne točke grafa (0,f11), (1, f12), …, (6,f17). Analogno vrijedi i za teorijske frekvencije.

Primjer 3. Mjerenjem je dobiven sljedeći skup podataka: 1.53, 3.45,2.67,0.56, 1.42,4.50,3.67,6.08,5.23,

1.24, 7.79,0.67, 5.12,4.78, 8.40,5.45,7.04,5.34, 3.63, 2.15, 3.22,1.97,2.09,8.21,7.54,6.36,2.98,6.75,

1.34, 2.85, 2.34, 0.56, 1.47, 5.19, 7.13. Odredimo prilagođenu normalnu teorijsku razdiobe i pripadne

teorijske frekvencije.

Rješenje: Postupak rješavanja može teći ovako (ali i drugačije):

>> x=[1.53, 3.45,2.67,0.56,1.42,4.50,3.67,6.08,5.23,1.24,7.79,0.67, 5.12,4.78,8.40,5.45,7.04,

5.34,3.63,2.15,3.22,1.97,2.09,8.21,7.54,6.36,2.98,6.75,1.34,2.85,2.34,0.56,1.47,5.19,7.13];

as=mean(x)

as = 4.0206

Page 50: lab vježbe

50

vari=var(x)

vari = 5.8013

mi=as;

sigma=sqrt(vari)

sigma = 2.4086

for k=1:7

p=normcdf([s(k)-c,s(k)+c],mi, sigma);

P=p(2)-p(1);

ft(k)=round(35*P);

end

>> ft

ft = 6 10 12 12 10 7 4

Zadaci

1. Ako je odredite: a)

, f ) očekivanje i varijancu.

2. Za binomnu distribuciju odredite p ako je , očekivanje , varijancu,

standardnu devijaciju b) .

3. Poissonova slučajna varijabla ima standardnu devijaciju 4. Odredite a) , b)

4. Vjerojatnost da se pri prijevozu razbije boca vina je 0.005. Ako se prevozi 1000 boca, odredite

vjerojatnost da do odredišta stignu: a) sve cijele boce, b) od 4 do 7 razbijenih boca.

5. Ako je odredite a) očekivanje i varijancu , b) c) .

Page 51: lab vježbe

51

6. Vjerojatnost da pretplatnik nazove telefonsku centralu u vremenskom intervalu t, iznosi 0.009. Centrala

poslužuje 4000 pretplatnika. Kolika je vjerojatnost da će u vremenskom intervalu t centralu nazvati 5

pretplatnika?

7. Slučajna varijabla X normalno je distribuirana sa parametrima . Izračunajte:

a) b) c) odredite vrijednost a tako da je

8. Težina čovjeka je slučajna varijabla X normalno distribuirana sa parametrima . Izračunajte:

a)Koliki je postotak ljudi lakših od 50 (kg), b) c) odredite a tako da je

9. Ako je odredite a) očekivanje, varijancu, , b)

10. Ako je vijek trajanja ( u satima) nekog uređaja slučajna varijabla X eksponencijalno distribuirana i vrijedi

odredite a) parametar a,očekivanje, b) c) .

11. Praćenjem broja prometnih nesreća na jednoj dionici puta kroz 24 mjeseca , dobiveni su sljedeći podaci: 5,

1, 7, 3, 6, 4, 2, 5, 3, 6, 7, 6, 3, 2, 3, 5, 4, 5, 4, 6, 1,4, 3,7. Uz pretpostavku da se broj nesreća ravna po Poissonovoj

razdiobi , odredite parametar i pripadne teorijske frekvencije.

12. Mjerenjem je dobiven sljedeći skup podataka: 10.153, 13.042, 11.537,10.157, 17.420, 14.351, 13.247,

11.207, 15.123, 10.324, 17.077, 12.563, 13.514, 14.573, 18.653, 14.545, 17.414,15.235, 13.163, 12.213, 13.521,

10.397, 12.937, 18.521, 17.355, 16.136, 12.498,16.375, 11.334, 14.285, 12.934, 10.556, 13.547,15.319, 17.617.

Odredite prilagođenu normalnu teorijsku razdiobe i pripadne teorijske frekvencije.