PINM - Laboratorijske vježbe - 2008

Embed Size (px)

Text of PINM - Laboratorijske vježbe - 2008

  • 8/9/2019 PINM - Laboratorijske vjebe - 2008

    1/36

    PRIMIJENJENA I NUMERIKA MATEMATIKALABORATORIJSKE VJEBE I

    M A T L A B

    to je MATLAB?

    MATLAB (od engl. matrix laboratory) je programski paket za numeriko raunanje imodeliranje, a takoer i vii programski jezik namijenjen primjeni u znanosti i tehnici. Kaouvod u laboratorijske vjebe i MATLAB, razmotrimo prvo naine pohrane brojeva u raunalu.

    Aritmetika digitalnog elektronikog raunala

    Kod zapisa broja u raunskom stroju prvo se suoavamo s problemom unosa velikih brojeva ilibrojeva s mnogo (moda i beskonano mnogo) decimala u fiziki ograniene sklopove.Kako bi se ovim i drugim problemima doskoilo, nastoji se optimalno iskoristitiraspoloivi prostor.

    1. Floating point (eksponencijalni, scientific) format realnog broja

    U floating point formatu (engl. format pomine toke), brojevi u dekadskom sustavu su oblikaz...z

    10x.yy...y , pri emu je znamenka x razliita od nule (broj je normaliziran). Npr, broj1234.5 u formatu pomine toke ima oblik 3101.2345 . Broj x.yy...y naziva se mantisa, a

    broj z...z eksponent. Koliko e znamenaka imati mantisa i eksponent ovisi naravno orealizaciji zapisa unutar raunala. Tako malo bolji (tzv. scientific) depni kalkulator koji imaosam mjesta na displeju rezervira est mjesta za zapis znamenaka mantise i dva za zapisznamenaka eksponenta. Na taj nain se na displeju depnog kalkulatora mogu prikazati brojeviod 99109.99999 do 99109.99999 . Najmanji prikazivi pozitivni broj je -99101.00000 . (UMATLAB-u se floating point broj z...z10x.yy...y zapisuje kao z...zx.yy...ye . Npr.

    002-1.2340eje0.01234a003,+1.2345eje1234.5 .)

    2. Zaokruivanje broja

    Broj ...857142857142857142.075 = ne moemo itav pohraniti u raunalo, pa se sluimozaokruivanjem ili rezanjem vika decimala. Zaokruivanjem na pet decimalnih mjestamantise tako dobijemo rezultat 11014286.7 (uinjena greka je 710...85714.2 ), a rezanjem

    11014285.7 (greka je 710...14285.7 ), pa je oito da je zaokruivanje mnogo bolja metoda.Raunala i bolji kalkulatori uvijek se slue zaokruivanjem.3. IEEE standard

    1

  • 8/9/2019 PINM - Laboratorijske vjebe - 2008

    2/36

    U digitalnom se raunalu brojevi prikazuju u binarnom brojevnom sustavu (baza mu je 2, aznamenke 0,1). Pria o floating point formatu i zaokruivanju brojeva, lako se prenosi i u

    binarni sustav.

    Utjecajni ameriki Institute of Electrical and Electronics Engineers (IEEE) predloio je ovakavstandard za organizaciju podataka u digitalnom raunalu (vrijedi za gotovo sve PC, radnestanice, kao i za najvanije numerike programske pakete koji na njima rade npr. MATLAB,Mathematica, Maple,...).

    Brojevi se zapisuju binarno, u nekom od formata pomine toke. Osnovni je format jednostruke preciznosti (single precision format), gdje se brojevi organiziraju u 32-bitnerijei:

    1 2 3 4 5 6 7 8 9 10 11 30 31 32. . .

    1 bit za zapis predznaka mantise8 bita za zapis eksponenta

    (ukljuujui i njegov predznak)23 bita za zapis mantise

    Trik: poto je broj normaliziran, zzyyy ...2.1 , vodea znamenka se ne pamti i podrazumijeva se da je jednaka 1 (uteda). Ovako se mogu zapisati brojevi od otprilike

    3810 do 3810 (dekadski), s tonou od otprilike sedam decimala.

    Jo ee se koristi tzv. format dvostruke preciznosti (double precision format), gdje su zazapis broja predviena 64 bita, tj:

    1 bit za zapis predznaka mantise11 bita za zapis eksponenta i njegovog predznaka52 bita za zapis mantise.

    Vodea znamenka se opet ne pamti. Ovako moemo zapisati brojeve reda veliine otprilike od30710 do 30710 , s mantisom od otprilike petnaest dekadskih mjesta iza zareza. U MATLAB-u

    emo raditi upravo s formatom dvostruke preciznosti.

    S obzirom na mogunosti stroja, koriste se i vei formati, npr. etverostruke preciznosti

    (quadruple precision) - rije se sastoji od 128 bita, itd.IEEE aritmetika uvodi jo i brojeve Inf , NaN , eps :

    Inf40010 010400 Inf0

    1

    2

  • 8/9/2019 PINM - Laboratorijske vjebe - 2008

    3/36

    InfInf +2 InfInf 2 InfInf 5

    InfInfInf + InfInfInf InfInf Inf

    NaN0

    0NaN

    Inf

    Inf NaNInf 0

    NaNInfInf NaNInf 1 NaNNaN3

    Broj1652 102204.22 =eps je ocjena greke zaokruivanja u binarnoj floating point

    aritmetici dvostruke preciznosti (eps je najmanji pozitivni broj za kojeg je 11 >+eps - uaritmetici raunala).

    Kako pokrenuti MATLAB?

    1. Ukljuiti raunalo i, po potrebi, ekran.2. Unijeti svoj Username i Password kad se pojavi prozor za identifikaciju, ili kliknuti samo na

    OK.

    3. Kad raunalo podigne Windowse i ispie sve uobiajene poruke, kliknuti miem redom:Start - Programs - MATLAB for Windows - MATLAB. Otvorit e se MATLAB-ov

    prozor.

    Zapis brojeva i osnovnih operatora

    + zbrajanje < je manje- oduzimanje je vee/ desno dijeljenje >= je vee ili jednako\ lijevo dijeljenje == je jednako^ potenciranje ~= nije jednako

    Specijalne varijable

    Ime Znaenje Vrijednost

    ans automatski poprima vrijednost izraza kad izraz nije pridruen varijablieps strojni epsilon (ocjena greke zaokruivanja) 5 22 2.2204e-016

    Inf + npr. 1/0 ili npr. (1e20)^20NaN Not-a-Number npr. 0/0 ili npr. NaN+3

    i imaginarna jedinica (i ) 1pi 3.14159265358979...

    Elementarne matematike funkcije ugraene u MATLAB

    Ime Znaenje Poziv Rezultatsin sinus sin(3*pi) ans =

    3.6738e-016

    3

  • 8/9/2019 PINM - Laboratorijske vjebe - 2008

    4/36

    cos kosinus cos(2*pi/3) ans =-0.5000

    tan tangens tan(pi/4) ans =1.0000

    asin arkus sinus asin(1) ans =1.5708

    acos arkus kosinus acos(1) ans =0

    atan arkus tangens atan(1) ans =0.7854

    sinh hiperbolni sinus sinh(0) ans =0

    cosh hiperbolni kosinus cosh(0) ans =1

    tanh hiperbolni tangens tanh(-3) ans =-0.9951

    asinh area sinus hiperbolni asinh(1) ans =0.8814

    acosh area kosinus hiperbolni acosh(1) ans =0

    atanh area tangens hiperbolni atanh(-0.9951) ans =-3.0046

    sqrt kvadratni (drugi) korijen sqrt(2) ans =1.4142

    exp eksponencijalna funkcija (baza e) exp(1) ans =

    2.7183log logaritamska funkcija (baza e) log(1) ans =0

    log10 logaritamska funkcija (baza 10) log10(0) Warning: Log of zeroans =-Inf

    abs apsolutna vrijednost (modul) abs(3-4*i) ans =5

    real realni dio kompleksnog broja real(-3+2*i) ans =-3

    imag imaginarni dio kompleksnog broja imag(-3+2*i) ans =2conj kompleksno konjugiranje conj(-3+2*i) ans =

    -3.0000 - 2.0000iround zaokruivanje broja

    na najblii cijeli brojround(2.3) ans =

    2round(3.5) ans =

    4PRIMIJENJENA I NUMERIKA MATEMATIKA

    LABORATORIJSKE VJEBE II

    Matrice u MATLAB-u

    4

  • 8/9/2019 PINM - Laboratorijske vjebe - 2008

    5/36

    Kako upisati matricu

    Matricu

    =

    642

    121A u MATLAB-u upisujemo naredbom

    A=[1 2 -12 4 6]

    ili A=[1 2 -1; 2 4 6]

    A MATLAB e odgovoriti:

    A =1 2 -12 4 6

    Aritmetike operacije s matricama

    Operacija Znak NapomenaZbrajanje matrica + Matrice moraju biti istih dimenzija.Oduzimanje matrica - Matrice moraju biti istih dimenzija.Mnoenje matrice brojem *Mnoenje matrice matricom * Matrice moraju biti ulanene.Desno dijeljenje matrica / Matricu ne moemo dijeliti matricom! O znaenju ovihLijevo dijeljenje matrica \ znakova opirnije u Dodatku na kraju ove vjebe.Potenciranje matrice ^ Matrica mora biti kvadratna.Transponiranje matrice Mnoenje elemenata dvijumatrica lan po lan

    .* Matrice moraju biti istih dimenzija.S lijeve ili desne strane znaka moe biti i broj.

    Desno dijeljenje elemenatadviju matrica lan po lan

    ./ Matrice moraju biti istih dimenzija.S lijeve ili desne strane znaka moe biti i broj.

    Lijevo dijeljenje elemenatadviju matrica lan po lan

    .\ Matrice moraju biti istih dimenzija.S lijeve ili desne strane znaka moe biti i broj.

    Potenciranje elemenata dvijumatrica lan po lan

    .^ Matrice moraju biti istih dimenzija.S lijeve ili desne strane znaka moe biti i broj.

    Primijenimo li koju od elementarnih matematikih funkcija na matricu, ona e se takoerraunati lan po lan. Npr. za [ ]10014=X , rezultat naredbe sqrt(X) bit e matrica[ ]1012 . Indeksiranje matrica takoer se vri na uobiajen nain.Koritenje znaka dvotoke (:)

    Dvotoka (engl. colon) vrlo je koristan znak u MATLAB-u. Evo samo nekih primjera njenog

    koritenja:

    1) Ako npr. drugi redak matrice

    =

    642

    121A elimo pospremiti u varijablu B, koristimo

    naredbu

    5

  • 8/9/2019 PINM - Laboratorijske vjebe - 2008

    6/36

    B=A(2,:)

    2) Slino, trei stupac iste matrice dat e nam naredba

    A(:,3)

    3) Matricu = 2

    23

    20Y , iji su elementi jednoliko rasporeeni, moemo kreirati

    naredbomY=0:pi/2:2*pi

    Drugaije, ako istu matricu elimo generirati prema broju elemenata, a ne razmaku izmeususjednih elemenata, moemo takoer koristiti

    Y=linspace(0, 2*pi, 5)

    Matrine funkcije ugraene u MATLAB

    Funkcija Argumenti to radizeros(m,n) m, n su prirodni brojevi Generira nul-matricu od m redaka i n stupaca.

    eye(n) n je prirodni broj Generira jedininu matricu reda n.diag(X) X je jednoredna

    ili jednostupana matricaGenerira dijagonalnu matricu iji su elementiredom elementi od X.

    rank(A) A je proizvoljna matrica Rauna rang matrice A.size(A,1) A je proizvoljna matrica Ispisuje broj redaka matrice A.

    size(A,2) A je proizvoljna matrica Ispisuje broj stupaca matrice A.sum(A) A je proizvoljna matrica Ako je A jednoredna ili jednostupana, zbraja sve

    elemente od A, a ako nije, zbraja ih po stupcima.prod(A) A je proizvoljna matrica Ako je A jednoredna ili jednostupana, mnoi sve

    elemente od A, a ako nije, mnoi ih po stupcima.det(A) A je kvadratna matrica Rauna determinantu matrice A.inv(A) A je kvadratna matrica Rauna inverznu matricu matrice A.

    U MATLAB -u ima smisla i tzv. prazna matrica [ ] . Ova se vrijednost obino pojavljuje kao

    rezultat nebuloznih naredbi, ili izraza koji u sebi ukljuuju praznu matricu. Npr,

    X=1:2:0 ima za posljedicu X =[]

    Dodatak: Rjeavanje sustava linearnih jednadbi

    Ako je sustav zadan u matrinom zapisu BAX = , gdje matrice A i B imaju isti broj redaka

    (zbog ulanenosti!), lijevo dijeljenje matrica, (operacija \) slui za rjeavanje tog sustava.Stavljamo: X=A\B

    6

  • 8/9/2019 PINM - Laboratorijske vjebe - 2008

    7/36

    Primjer 1: Rijeimo sustav AX=B, za zadane matrice:

    a)

    =

    542

    431

    321

    A ,

    =

    7

    9

    6

    B ; b)

    =

    755

    542

    431

    321

    A ,

    =

    10

    7

    9

    6

    B ;

    c)

    =

    7543

    5432

    5211

    A ,

    =

    7

    9

    6

    B ; d)

    =

    755

    542

    431

    321

    A ,

    =

    3

    7

    9

    6

    B .

    Rjeenja:

    a) Nakon: A=[1 2 3;-1 3 4;2 4 5];B=[6;9;7];

    stavljamo: X=A\B

    Dobijemo: X =-1-45

    Provjera: A*X

    zaista daje: ans =697

    b) Kad unesemo nove matrice i

    naredbu X=A\B, rezultat je:

    X =

    -1.0000-4.00005.0000

    (provjerite s A*X).

    c) U ovom sluaju, dobijemo: X =0

    -4.700010.9000-4.1000

    to se i opet moeprovjeriti s A*X.

    U ovom sluaju sustav zapravo ima beskonano mnogo rjeenja, ali MATLAB kao numerikiprogram izrauna samo jedno od njih. To e se deavati kadgod budemo imali vie od jednogrjeenja.

    7

  • 8/9/2019 PINM - Laboratorijske vjebe - 2008

    8/36

    d) Konano, za posljednji sustavje rezultat dobiven naredbomX=A\B:

    X =-2.00000.0000

    2.0000

    Meutim, provjera s A*X daje: ans =4.000010.00006.00004.0000

    to se vrlo razlikujeod naega B.

    U emu je stvar? Ovaj sustav ustvari nema rjeenja. Meutim numeriki program poputMATLAB-a ne usudi se davati nesigurne procjene poput ovih o rjeivosti sustava i pokuavasve to je u njegovoj moi da nae bilo kakvo, pa ak i pogreno rjeenje. Zbog toga je dobrodobivena rjeenja uvijek provjeriti.

    Napomena: Operacija dijeljenja matrica moe se koristiti i za rjeavanje openitijihmatrinih jednadbi. Tada naredba X=A\B rauna rjeenje Xmatrine jednadbe

    AX=B i to stupac po stupac. Opet je potrebno da matrice A i B imaju isti brojredaka.

    S druge strane, rjeenje X matrine jednadbe XA=B moemo raunati desnimdijeljenjem, tj. naredbom X=B/A, naravno, ako A i B imaju isti broj stupaca.

    PRIMIJENJENA I NUMERIKA MATEMATIKALABORATORIJSKE VJEBE III

    Grafika u MATLAB - u

    Jednostavni grafikoni - naredba plot(X)

    8

  • 8/9/2019 PINM - Laboratorijske vjebe - 2008

    9/36

    Pretpostavimo da je

    =

    3

    5

    4

    2

    X jednostupana matrica upisana u MATLAB.

    Ovo su rezultati naredbi:

    plot(X) plot(X, '*')

    1 1.5 2 2.5 3 3.5 4-3

    -2

    -1

    0

    1

    2

    3

    4

    5

    1 1.5 2 2.5 3 3.5 4-3

    -2

    -1

    0

    1

    2

    3

    4

    5

    Isto bi dobili da je X bila jednoredna matrica. U sluaju da smo imali

    =

    126

    237

    143

    121

    A

    nakon naredbe plot(A) slika bi izgledala:

    1 1.5 2 2.5 3 3.5 4-1

    0

    1

    2

    3

    4

    5

    6

    7

    Crtanje grafa funkcije - naredba plot(X,Y)

    Pretpostavimo da treba skicirati graf funkcije4

    2 +=x

    xy na segmentu [ ]10,10 . Radimo:

    x=-10:0.05:10; formiranje matrice x -ova, za koje e se raunati i crtati funkcijske vrijednostiy= x./(x.^2+4); formiranje matrice vrijednosti funkcije u tokama (vorovima) x

    plot(x,y) crtanje grafa funkcije, tj. svih zadanih vrijednosti (x(i),y(i)).

    Rezultat ovih naredbi vidi se na slici (a).

    9

  • 8/9/2019 PINM - Laboratorijske vjebe - 2008

    10/36

    Ako na jednoj slici elimo crtati grafove vie funkcija, koristimonaredbu

    plot(X1,Y1,X2,Y2,...)

    Na primjer, ako elimo skicirati ponaanje funkcija1

    3,cos, 321 +

    ===x

    yxyxy

    na segmentu [ ]6,0 , piemo naredbe:

    x=0:0.01:6;y1=sqrt(x);y2=cos(x);y3=3./(x+1);

    plot(x, y1, x, y2, x, y3) i dobijemo sliku (b).

    -10 -5 0 5 10-0.25

    -0.2

    -0.15

    -0.1

    -0.05

    0

    0.05

    0.1

    0.15

    0.2

    0.25

    0 1 2 3 4 5 6-1

    -0.5

    0

    0.5

    1

    1.5

    2

    2.5

    3

    slika (a) slika (b)

    U crtanju grafova, MATLAB koristi osam razliitih boja, zatim specijalne tipove znakova zaoznaavanje toaka (toka ., plus +, zvjezdica *, krui o, iksi x), a takoer i zacrtanje crta koje spajaju te toke (puna -, isprekidana --, tokasta :, kombinirana -.).

    Ako nam zatreba, koordinatnu mreu moemo postaviti (i takoer

    izbrisati) naredbom

    grid

    Primjeri

    Zadatak 1. Koristei MATLAB-ovu grafiku, ispitaj ponaanje funkcije521114)(

    234 +++= xxxxxf na intervalu [-10,10].

    Zadatak 2. Koristei MATLAB-ovu grafiku, ispitaj ponaanje funkcije

    2

    )(x

    exf

    =na intervalu [-10,10].

    10

  • 8/9/2019 PINM - Laboratorijske vjebe - 2008

    11/36

    Zadatak 3. Koristei MATLAB-ovu grafiku, ispitaj ponaanje funkcije4

    )(2 +

    =x

    xxf

    na intervalu [-10,10].

    Zadatak 4. Koristei MATLAB-ovu grafiku, ispitaj ponaanje funkcije4

    )(2

    =x

    xxf

    na intervalu [-10,10].

    Zadatak 5. Koristei MATLAB-ovu grafiku, ispitaj ponaanje funkcije

    =2

    )(x

    xxf

    na intervalu [-10,10].

    Zadatak 6. Koristei MATLAB-ovu grafiku, ispitaj ponaanje funkcije

    =x

    xf1

    sin)(

    na intervalu [-10,10].

    Zadatak 7. Koristei MATLAB-ovu grafiku, odredi koliko rjeenja ima jednadba

    xe x cos5

    1

    = na intervalu [0,10].

    Zadatak 8. Koristei MATLAB-ovu grafiku, odredi koliko rjeenja ima jednadbaxx 2cos= na skupu pozitivnih realnih brojeva.

    Zadatak 9. Koristei MATLAB-ovu grafiku, odredi koliko rjeenja ima jednadbax

    ex

    x=

    +2

    1za x>-1.

    Zadatak 10. Koristei MATLAB-ovu grafiku, odredi koliko rjeenja ima jednadba2+= xchx na skupu realnih brojeva.

    PRIMIJENJENA I NUMERIKA MATEMATIKALABORATORIJSKE VJEBE IV

    1. Uvjetne naredbe (naredbe kontrole toka)

    Naredba for

    Naredba for slui za ponavljanje odreene naredbe ili niza naredbi unaprijed zadani broj puta. Sintaksa for petlje:

    11

  • 8/9/2019 PINM - Laboratorijske vjebe - 2008

    12/36

    forvarijabla=izraz1:izraz2:izraz3naredbe

    end

    varijablapoprima vrijednosti od izraz1 doizraz3 s korakom izraz2.(Ako je korak 1, ne moramo ga pisati)

    Primjer 1. Zadane su jednoredne matrice x=[-3 3 9 15] i f=[3 5 4 2]. Koristei naredbu for izraunaj:

    = 4

    1

    )()(k

    kfkx .

    x=-3:6:15;f=[3 5 4 2]s=0for k=1:4

    s=s+x(k)*f(k);ends

    zadajemo matricu xzadajemo matricu finicijaliziramo s

    poinje for-petlja(u kojoj u etiri koraka raunamo s)

    petlja zavravaispisujemo konano s

    Rezultat:s=

    72

    Uoi, za zadane x i f, mogli smo umjesto petlje koristiti: s=sum(x.*f)ili: s=x*f '

    Primjer 2. Izraunaj

    !1!1

    !1

    1

    1 7=

    koristei naredbu for.

    y=1;for ind=0:9

    y=y*(175-ind)/(10-ind);endy

    inicijaliziramo ypoinje for-petlja od k koraka(u kojoj se koristi ekonomina formaza raunanje binomnog koeficijenta)ispisujemo konano rezultat y

    Rezultatnaredbi:

    y=5.7130e+015

    Naredba while

    Naredba while ponavlja odreenu naredbu ili niz naredbi dok je ispunjen uvjet iz izraza.

    Sintaksa while-petlje: while izraznaredbe

    end

    Napomena: Za izlaz iz petlje (for kao i while) esto se koristi naredba break.Primjer 3: Koristei naredbu while, izraunaj (do na tonost eps) sumu reda

    =14

    1

    n n.

    12

  • 8/9/2019 PINM - Laboratorijske vjebe - 2008

    13/36

    s=0;n=1;d=1;while d>=eps

    d=(1/n)^4;s=s+d;

    n=n+1;ends

    inicijalizacija sume sinicijalizacija indeksa ninicijalizacija doprinosa duvjet: doprinos je vei od tonosti strojadoprinos u n-tom korakusuma u n-tom koraku

    n se poveava za 1kraj petljeispiimo konanu sumu s

    Rezultat(u dugom formatu):

    s=

    1.08232323371052

    Naredba if:

    Naredba if izvrit e navedene naredbe ako je uvjet dan izrazom ispunjen. Mogue je upotrebiti i varijantuif...else. Sintaksa je:

    ifizraznaredbe

    end

    osnovni oblik naredbe if

    proireni oblik naredbe if

    ifizraznaredbe

    else naredbeend

    Primjer 4: Koristei naredbu if, skiciraj rjeenja (x,y) nejednadbe 3694 22 + yx .

    holdx=linspace(-4,4,100);y=linspace(-4,4,100);for n=1:100

    for m=1:100if 4*x(n)^2+9*y(m)^2

  • 8/9/2019 PINM - Laboratorijske vjebe - 2008

    14/36

    Kako kreiramo jedan m file

    U otvorenom MATLAB ovu prozoru, kliknimo miem redom: File New M-file. Pojavit e se prozorteksteditora (u starijim verzijama MATLAB a, to je bio Notepad), u kojem emo pisati nae naredbe.

    Kad zavrimo s pisanjem naredbi, trebamo kazati raunalu da kreirani file imenuje i spremi u memoriju sekstenzijom m (da bi ga MATLAB kasnije mogao prepoznati kao mfile i izvriti). Kliknemo li miem slijedFile Set Path, dolazimo do popisa foldera u kojima MATLAB trai svoje mfileove. Mi emo ih pohranjivatiu folder C:\matlabR12\work. Pri pohrani postupamo ovako:

    U prozoru Notepada u kojem smo pisali naredbe, miem kliknemo file Save As i zatim:

    1. Po potrebipromijenimo direktorij u C:\matlabR12\work.2. Dodijelimo ime i ekstenziju ("ime.m") pod kojim e se file pohraniti u memoriju.3. Kliknemo na Save.

    Obini m file (engl. script file)

    Ako imamo neki dui niz naredbi, koji nam se u radu ee ponavlja, moemo ga zapisati u obini m file. Prisvakom pozivu imena tog m filea, izvrit e se naredbe koje on sadri.

    Svaki od etiri primjera iz prethodne toke mogli smo realizirati pomou obinog m filea.

    14

  • 8/9/2019 PINM - Laboratorijske vjebe - 2008

    15/36

    Funkcijski m file

    Funkcijskim mfileom kreiramo novu funkciju. Ovako kreirana funkcija ravnopravna je funkcijamaugraenim u MATLAB-u (kao to su npr. sin, log, det, itd.) Na taj nain moemo prema naoj volji i

    potrebama proiriti biblioteku postojeih funkcija. Sintaksa je:

    function varijabla=ime funkcije(ulazne varijable)naredbe

    U prvom retku mora biti imefunkcije i varijable kojimaoperira.

    Ime funkcijskog m-filea mora biti isto kao i ime funkcije koja se njima definira. Samu funkciju pozivamo kaoi svaku drugu funkciju, koristei njeno ime, zagrade, ulazne i izlazne varijable. Varijable mogu biti i brojevi imatrice. Jasno je da broj i tip varijabli u definiciji i pozivu funkcije moraju biti isti.

    function [izlazne varijable]=ime funkcije(ulazne varijable)

    naredbe

    Funkcija moe imati i

    vie izlaznih varijabli.

    Primjer 1. Napii funkcijski m-file bk.m, koji e raunati:

    ) !(!

    !

    knk

    n

    k

    n

    =

    za zadane prirodne brojeve n, k.

    function y=bk(n,k)y=1;for ind=0:k-1

    y=y*(n-ind)/(k-ind);end

    Definicija funkcije i argumenata.Inicijaliziramo y.Poinje for petlja od k koraka (u kojoj se koristiekonomina forma za raunanje binomnog koeficijenta).Petlja zavrava, u y ostaje konana vrijednost funkcije.

    Uoi, mogli smo izbjei for-petlju iskratiti funkciju upotrebom:

    function y=bk(n,k)y=prod([n-k+1:n]./[1:k]);

    Primjer 2. Napii funkcijski m-file f1.m, koji e raunati funkciju1

    100)(

    2

    3

    1 +=x

    xxf za zadane vrijednosti x.

    function y=f1(x)y=x.^3-100./(x.^2+1);

    Najbolje je pretpostaviti da je argument funkcije matrica,tako e uobiajeno raunanje lan po lan vrijediti.

    Primjer 3. Napii funkcijski m-file poiss.m, koji e za zadane a, k raunati funkciju

    15

    ak

    ek

    akapoiss

    =!

    ),(

  • 8/9/2019 PINM - Laboratorijske vjebe - 2008

    16/36

    function y=poiss(a,k)for m=1:size(k,1);

    for n=1:size(k,2);y(m,n)=exp(-a)*prod(a./[1:k(m,n)]);

    endend

    Definira se funkcija s argumentima k, a.Dvije petlje osiguravaju da k moe biti

    proizvoljna matrica (to e nam trebati ustatistici). Kao izlaz imamo matricu istedimenzije kao k. Kao i prije, izbjegavase direktno raunanje faktorijela.

    PRIMIJENJENA I NUMERIKA MATEMATIKALABORATORIJSKE VJEBE V

    Numerika u MATLAB-u

    1. Numeriko rjeavanje jednadbi

    Problem: Rijeiti jednadbu ( ) 0=xf metodom bisekcije (polovljenja).Teorijska

    podloga i dodatni komentari o izolaciji korijena dani su na predavanju.

    Algoritam metode bisekcije

    Da bi mogli koristiti metodu bisekcije trebamo prvo nai brojeve a, b takve da f(a) i f(b) imaju razliitepredznake. Ako je funkcija f neprekidna na intervalu [a,b], to znai da e u tom intervalu sigurnoimati barem jednu nultoku c. Pretpostavimo da smo izolirali korijen jednadbe ( ) 0=xf , tj. odredilisegment [a,b] koji sadri jedan i samo jedan korijen c jednadbe. Oznaimo aa =0 , bb =0 .

    Izraunamo2

    00 ba + (polovimo segment) i

    +

    2

    00 baf .

    Ispitujemo u kojoj polovini segmenta lei korijen jednadbe.

    1. Ako je 02

    00 =

    + baf , uzimamo da je

    2

    00 bac+

    = traeni korijen jednadbe.

    2. Ako je 02

    00

    + baf i ( )[ ]0

    00 sgn2

    sgn afba

    f =

    +

    , oznaimo2

    001

    baa

    += i 01 bb = .

    Ako je 02

    00

    + baf i ( )[ ]0

    00 sgn2

    sgn bfba

    f =

    +, oznaimo 01 aa = i

    2

    001

    bab

    += .

    Kako je ( )[ ] ( )[ ]11 sgnsgn bfaf , korijen jednadbe je u segmentu [ ]11,ba na kojem moemo ponovitipostupak polovljenja.Nakon k koraka doli smo do segmenta [ ]kk ba , .

    Izraunamo2

    kk ba + (polovimo segment) i

    +

    2

    kk baf .

    1. Ako je 02

    =

    + kk baf , uzimamo da je2

    kk bac+

    = traeni korijen jednadbe.

    16

  • 8/9/2019 PINM - Laboratorijske vjebe - 2008

    17/36

    2. Ako je 02

    + kk baf i ( )[ ]kkk af

    baf sgn

    2sgn =

    +

    , oznaimo2

    1kk

    k

    baa

    +=+ i kk bb =+1 .

    Ako je 02

    + kk baf i ( )[ ]kkk bfba

    f sgn2

    sgn =

    +, oznaimo kk aa =+1 i

    21

    kkk

    bab

    +=+ .

    Nakon n-tog koraka doli smo do segmenta [ ]nn ba , , za kojeg vrijedi nn bca . Uobiajeno je za za

    priblinu vrijednost korijena jednadbe uzeti2

    nn bac += .

    Postizanje traene tonosti :

    1. nn ab ( )

    2log

    loglog ab

    n (teorijski).

    2. Promatranjem kako se ustaljuju znamenke rjeenja (praktino).Primjer 1. Metodom polovljenja odredite priblinu vrijednost korijena jednadbe 0ln 2 =+ xx s tonou

    210

    = .

    Rjeenje:

    1. Izolacija korijena (grafiki).Korijen jednadbe 0ln 2 =+ xx oito je nultoka funkcije ( ) 2ln xxxf += (komplicirano crtati graf).Jednostavnije: jednadbu napisati u obliku 2ln xx = i problem svesti na traenje sjecita grafova funkcija

    ( ) xxf ln1 = i ( )2

    2 xxf = .

    Sa slike oitamo:5.0=a i 1=b .

    Odreivanje broja koraka za postizanjetraene tonosti 210= :

    ( )=

    2log

    loglog abn

    5.64382log

    01.0log5.0log=

    =

    Dovoljno je uzeti n =6.

    2. Primjena metode polovljenja preglednosti radi, moemo formirati tablicu:

    ( )kaf 0k ka kb

    2

    kk ba +Predznak od

    +

    2

    kk baf

    0 0.5000 1.00007500.0

    2

    1.00000.5000=

    ++

    1 0.5000 0.7500 0.62502

    0.75000.5000 =+ -

    2 0.6250 0.7500 6875.02

    0.75000.6250=

    ++

    17

    0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5-25

    -20

    -15

    -10

    -5

    0

    5

  • 8/9/2019 PINM - Laboratorijske vjebe - 2008

    18/36

    3 0.6250 0.6875 6562.02

    0.68750.6250=

    ++

    4

    0.6250 0.6562 6406.02

    0.65620.6250=

    +-

    5

    0.6406 0.6562 0.64842

    0.65620.6406 =+

    -

    6 0.6484 0.6562

    Na kraju, stavljamo 0.65232

    0.65620.6484=

    +c .

    Rjeavanje jednadbe ( ) 0=xf uz pomo MATLAB-a

    a) Metoda je bisekcije vrlo jednostavna i pregledna, ali neto sporija od drugih, pa je u

    standardnom MATLAB-ovu toolbox-u nema. Zato je za potrebe ovih Laboratorijskih vjebi ufolderu C:\matlabR12\work kreiran novi funkcijski m-file bis.m koji radi metodompolovljenja. Funkciju bis pozivamo s:

    bis(f, a,b,n) Potrebno je da je funkcija f prethodno zapisana u vidu funkcijskog m-filea(obrati panju na obavezne navodnike!). Ulazni parametri a, b rubovi su

    polaznog intervala, a n eljeni broj polovljenja.

    Zainteresirani mogu razmotriti sintaksu funkcije bis u folderu C:\matlabR12\work.

    Rijeimo ponovo Primjer 1, koristei se ovaj put funkcijom bis i punom MATLAB-ovom preciznou.

    Primjer 1. Metodom polovljenja odredite priblinu vrijednost korijena jednadbe 0ln 2 =+ xx stonostima 210= i eps= . Za odabrane a,b, koliko treba polovljenja da bi se postiglatraena tonost?

    Rje enje : Da bismo odredili broj korijena i poetnu aproksimaciju, skicirajmo graf funkcije( ) 2+= xxxf ln .

    Prvo funkciju zapiemo kao funkcijski m-file f.mu folder C:\matlabR12\work:

    i zatim je nacrtamo:

    Sa slike je oito da moemo uzeti 5.0=a i 1=b. Sada pozivamo bis za razliite vrijednosti n:

    bis('f',0.5,1,1) Rezultati (u dugom formatu): ans = 0.62500000000000bis('f',0.5,1,2) ans = 0.68750000000000bis('f',0.5,1,3) ans = 0.65625000000000bis('f',0.5,1,4) ans = 0.64062500000000

    18

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

    x=0:0.01:5;plot(x, f(x))grid

    0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5-30

    -20

    -10

    0

    10

    20

    30

  • 8/9/2019 PINM - Laboratorijske vjebe - 2008

    19/36

    bis('f',0.5,1,5) ans = 0.64843750000000bis('f',0.5,1,6) ans = 0.65234375000000bis('f',0.5,1,10) ans = 0.65307617187500bis('f',0.5,1,30) ans = 0.65291864029132bis('f',0.5,1,50) ans = 0.65291864041920bis('f',0.5,1,100) Toan rezultat ans = 0.65291864041920

    Poveavanjem broja polovljenja n dolazi do ustaljivanja (ponavljanja) sve vie znamenaka u rjeenju.Znamenke rjeenja koje se uestalo ponavljaju moemo smatrati tonima. Primjeujemo da je za postizanjetonosti od eps= uz odabrane a,b dovoljno napraviti 47 polovljenja. Za 210= moemo smatrati dase ta tonost postie kad se stabiliziraju prve dvije decimale rjeenja, a to se (tablica) dogaa za n =6

    polovljenja.

    b) U standardnom MATLAB-ovu toolboxu je i funkcija fzero.

    Ponovo je potrebno da naa funkcija f prethodno bude zapisana u vidu funkcijskog m-filea. Sintaksa je:

    fzero(f , izraz) Ime funkcije je u navodnicima. Izraz je poetna aproksimacija za traenu nultoku.

    Koritenjem funkcije fzero u Primjeru 1 dobili bismo:

    fzero('f ',1) rezultat (u dugom formatu): ans = 0.65291864041920

    Algoritam funkcije fzero je malko kompliciran, a radi tako da najprije poevi od poetne aproksimacije samtraga za prvom promjenom predznaka funkcije i ako je nae, koristi bisekciju u kombinaciji s jo nekimtehnikama. M-file fzero.m smjeten je u folderu C:\matlab\toolbox\matlab\funfun, i kao takav, moe seotvoriti i pogledati.

    c) Ako je ( )xf polinom, moemo koristiti i naredbu roots.

    Sjetimo se: ako je ( )xf polinom stupnja n, onda on ima tono n nultoki (koje su openito kompleksne).Traenje ovih nultoki u MATLAB-u obavlja naredba roots.

    Najprije, polinom u MATLAB-u trebamo zapisati kao jednorednu matricu koeficijenata. Raunanje vrijednostitog polinoma u zadanim tokama obavlja naredba polyval.(roots.m i polyval.m funkcijski su m-fileovi u folderu C:\matlab\toolbox\matlab\polyfun).

    Npr. ako elimo zapisati polinom ( ) 521114 234 +++= xxxxxf ,utipkat emo redom njegove koeficijente: f=[4 -11 1 21 5] f =

    4 -11 1 21 5Za traenje svih nultoki tog polinoma,

    pozovemo roots:roots(f) ans =

    2.0000 + 1.0000i2.0000 - 1.0000i

    -1.0000-0.2500

    Da bi izraunali npr. ( )1f , koristimo naredbupolyval:

    polyval(f,1) ans =20

    Ako elimo skicirati taj polinom,koristimo:

    19

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

    0

    20

    40

    60

    80

    100

    120

  • 8/9/2019 PINM - Laboratorijske vjebe - 2008

    20/36

    x=-2:0.1:2;plot(x,polyval(f,x))grid

    Primjer 2. Odredite s tonou eps najmanji pozitivni korijen jednadbe1+

    3=x

    xcos .

    Za odabrane a,b, odredi koliko polovljenja treba da se postigne traena tonost?

    Rjeenje

    Skiciranjem grafova funkcija

    ( ) xxf cos1 = i ( )1

    32 +

    =x

    xf vidi se

    da je traeni korijen u intervalu [ ]6,5

    .

    Prvo funkciju ( )1

    3cos

    +=xxxf zapiemo i pohranimo u folder C:\matlabR12\work kao m-file f.m:

    function y=f(x)y=cos(x)-3./(x+1);

    Zatim pozovemo bis. Ispostavlja se da se traena tonost eps= postie sa n= 46 polovljenja.bis('f',5,6,5) Rezultati (u dugom formatu): ans = 5.20312500000000bis('f',5,6,10) ans = 5.21630859375000bis('f',5,6,20) ans = 5.21603536605835bis('f',5,6,30) ans = 5.21603577258065bis('f',5,6,40) ans = 5.21603577298038bis('f',5,6,50) Toan rezultat ans = 5.21603577298021

    Metodu bisekcije moemo ilustrirati i tako da koritenjem naredbe zoom i mia zumiramo sliku, ali bi to

    bio spor i neprecizan postupak za efektivno traenje korijena:

    20

    0 1 2 3 4 5 6-1

    -0.5

    0

    0.5

    1

    1.5

    2

    2.5

    3

  • 8/9/2019 PINM - Laboratorijske vjebe - 2008

    21/36

    PRIMIJENJENA I NUMERIKA MATEMATIKALABORATORIJSKE VJEBE VI

    Numerika u MATLAB-u (nastavak)

    2. Interpolacija

    Problem: Zadane su toke ( ) ( ) ( ) ( )nn yxyxyxyx ,,...,,,,,, 221100 . Trebaodrediti

    polinom najmanjeg stupnja, iji graf sadri sve te toke.

    Teorija kae da takav polinom postoji i stupanj mu je manji ili jednak n. Naziva seLagrange-ov interpolacioni polinom. Raunamo ga tako da prvo definiramo polinome:

    )()) ((

    )()) (()(

    02010

    21

    00 0

    0

    n

    nn

    jj j

    j

    xxxxxx

    xxxxxx

    xx

    xxxl

    =

    =

    =

    )()) ((

    )()) (()(

    12101

    20

    10 1

    1

    n

    nn

    jj j

    j

    xxxxxx

    xxxxxx

    xx

    xxxl

    =

    =

    =

    .

    .

    .

    )()) (()()) ((

    )(110

    110

    0

    =

    =

    =

    nnnn

    nn

    njj jn

    j

    nxxxxxx

    xxxxxx

    xx

    xxxl

    Lagrange-ov interpolacioni polinom je tada )(...)()()()( 11000

    xlyxlyxlyxlyxL nn

    n

    k

    kkn +++===

    .

    21

    5 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 60.2

    0.3

    0.4

    0.5

    0.6

    0.7

    0.8

    0.9

    1

    5.205 5.21 5.215 5.22 5.225 5.23

    0.47

    0.475

    0.48

    0.485

    0.49

  • 8/9/2019 PINM - Laboratorijske vjebe - 2008

    22/36

    Primjer 1. Za podatke dane u tablici odredite Lagrangeov interpolacioni polinom.

    xi -4 -2 -1 2yi 0 4.25 -4.875 -5.25

    Rjeenje: Imamo redom:

    36

    44

    )24)(14)(24(

    )2)(1)(2(

    ))()((

    ))()(()(

    23

    302010

    3210

    ++=

    ++++

    =

    =

    xxxxxx

    xxxxxx

    xxxxxxxl

    8

    863

    )22)(12)(42(

    )2)(1)(4(

    ))()((

    ))()(()(

    23

    312101

    3201

    +=

    ++++

    =

    =

    xxxxxx

    xxxxxx

    xxxxxxxl

    9

    1644

    )21)(21)(41(

    )2)(2)(4(

    ))()((

    ))()(()(

    23

    321202

    3102

    ++=

    ++++

    =

    =

    xxxxxx

    xxxxxx

    xxxxxxxl

    72

    8147

    )12)(22)(42(

    )1)(2)(4(

    ))()((

    ))()(()(

    23

    231303

    2103

    +++=

    ++++++

    =

    =

    xxxxxx

    xxxxxx

    xxxxxxxl .

    Dakle je traeni Lagrangeov interpolacioni polinom =+++= )()()()()( 332211003 xlyxlyxlyxlyxL

    5.13375.625.323 += xxx .

    Sada emo isti primjer rijeiti uz koritenje MATLAB-a. Lagrangeov interpolacioni polinom rauna direktnonaredba polyfit(x,y,n), gdje su vrijednosti koordinata x i y pohranjene u jednoredne matrice x i y, a

    n (= broj toaka - 1) je stupanj traenog polinoma. Polinom dobivamo u vidu jednoredne matricekoeficijenata po potencijama. Imamo, dakle:

    x=[-4 -2 -1 2]; Upiemo x-eve.y=[0 4.25 -4.875 -5.25]; Upiemo y-e.

    p=polyfit(x,y,3) Stavimo n = 4-1=3.

    Ako elimo vidjeti kako dobijeni polinom izgleda na slici, moemo utipkati:

    x1=-5:0.05:5; Da bi slika bila ljepa, polinom emo nacrtati preciznije.plot(x,y,'*',x1,polyval(p,x1)) Zadane toke (xi,yi) na slici su oznaene s * slika (1).

    Primjer 2. Aproksimirajmo funkciju ( ) xxy cos= Lagrange-ovim interpolacionim polinomom u tokama sapscisama 0, 1, 3, 4, 5. Ocijeni apsolutnu pogreku aproksimacije u toki a) x=2, b)x=-1? Obrazloi.

    Rjeenje:

    x=[0 1 3 4 5]; Upiemo x-eve.y=cos(x); Izraunamo y-e.

    p=polyfit(x,y,4) Polinom je( ) 0000131530079713315002680 234 .x.x.x.x.-xp +++= .

    abs(polyval(p,2)-cos(2)) Pogreka Lagrangeovog polinoma u toki 2 je otprilike podnoljivih0.0485 (interpolacija!), a u toki 1 (van intervala) je loih 1.2935.abs(polyval(p,-1)-cos(-1))

    x1=-2:0.05:8; To se uoava i na donjoj desnoj slici slika (2).

    22

    ( ) ( ) =+++++++++++=72

    814725.5

    9

    1644875.4

    8

    86325.4

    36

    440

    23232323 xxxxxxxxxxxx

  • 8/9/2019 PINM - Laboratorijske vjebe - 2008

    23/36

    plot(x,y,'*',x1,cos(x1),x1,polyval(p,x1)) Toke (xi,yi) opet oznaimo s *.

    slika (1)

    slika (2)PRIMIJENJENA I NUMERIKA MATEMATIKA

    LABORATORIJSKE VJEBE VII

    Numerika u MATLAB-u (nastavak)

    3. Metoda najmanjih kvadrata

    Problem: Zadane su toke ( ) ( ) ( ) ( )nn yxyxyxyx ,,...,,,,,, 221100 . Trebaodrediti funkciju ( )xf koja dane toke aproksimira u smislu metodenajmanjih kvadrata (tj. tako da je suma kvadrata odstupanja

    ( )[ ]=

    =n

    i

    ii yxfS0

    2

    u danim tokama minimalna).

    U naem sluaju funkcija e biti polinom ( )xp stupnja nm . Taj polinom odreujemo takoda odredimo za koje koeficijente funkcija S od m+1 varijabli postie lokalni minimum -

    vidi Predavanja.

    Primjer 1. Metodom najmanjih kvadrata odredi polinom ( )xp stupnja m koji aproksimira toke ( )ii yx , ije su koordinate dane u tablici, ako je: a) m=0, b) m=1, c) m=2.

    xi -4.1 -2.9 -2.1 -0.9 -0.2 -0.1yi -2.39 -0.52 -0.27 -0.75 -2.52 -2.13

    Rjeenje: Formiramo tablicu:

    iix iy

    2

    ix3

    ix4ix ii yx ii yx

    2

    0 -4.1 -2.39 16.81 -68.921 282.5761 9.799 -40.1759

    23

    -5 -4 -3 -2 -1 0 1 2 3 4 5-50

    0

    50

    100

    150

    200

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

    -7

    -6

    -5

    -4

    -3

    -2

    -1

    0

    1

    2

  • 8/9/2019 PINM - Laboratorijske vjebe - 2008

    24/36

    1 -2.9 -0.52 8.41 -24.389 70.7281 1.508 -4.37322 -2.1 -0.27 4.41 -9.261 19.4481 0.567 -1.19073 -0.9 -0.75 0.81 -0.729 0.6561 0.675 -0.60754 -0.2 -2.52 0.04 -0.008 0.0016 0.504 -0.10085 -0.1 -2.13 0.01 -0.001 0.0001 0.213 -0.0213

    -10.3 -8.58 30.49 -103.309 373.4101 13.266 -46.4694

    a) Stavimo ( ) Axp = , ( ) ( )[ ] ( )==

    ==5

    0

    2

    0

    2

    i

    i

    n

    i

    ii yAyxpAS . Odredimo lokalni minimum funkcije S:

    ( ) ( ) ( ) -1.43006

    8.58-

    6

    16020

    5

    0

    5

    0

    5

    0

    5

    0

    2 ======= ==== i

    i

    i

    i

    i

    i

    i

    i yAyAyAyAdA

    dAS

    dA

    d.

    ( ) 4300.1= xp

    b) ( ) BAxxp += , ( ) ( )[ ] ( )==

    +==5

    0

    2

    0

    2,

    i

    ii

    n

    i

    ii yBAxyxpBAS . Odredbeni sustav za A,B je:

    ( ) ( ) ( ) ===== =+=+=+=5

    0

    5

    0

    5

    0

    2

    5

    0

    5

    0

    2 020,i

    ii

    i

    i

    i

    ii

    i

    ii

    i

    ii yxxBxAxyBAxyBAxA

    BASA

    ( ) ( ) ( ) ====

    =+=+=+

    = 5

    0

    5

    0

    5

    0

    5

    0

    26020,

    i

    i

    i

    i

    i

    ii

    i

    ii yBxAyBAxyBAxB

    BASB

    tj.

    =

    =

    =6+

    =

    - 1 .B

    - 0 .

    - 8 . 5 81 0 . 3

    1 3 . 2 6 61 0 . 33 0 . 4 9 A

    BA

    BA ( ) 1.6261-0.1142 = xxp .

    c) ( ) CBxAxxp ++= 2 , ( ) ( )( ) ( )25

    0

    2

    2

    0

    ,, ==

    ++==i

    iii

    n

    i

    ii yCBxAxyxpCBAS . Odredbeni sustav je:

    ( ) ( ) == ===

    =++=++

    = 5

    0

    25

    0

    5

    0

    235

    0

    45

    0

    2200,,

    i

    ii

    i i

    ii

    i

    i

    i

    iii yxxCxBxAyCBxAxA

    CBASA

    ( ) ( ) == ===

    =++=++

    = 5

    0

    5

    0

    5

    0

    25

    0

    35

    0

    2200,,

    i

    ii

    i i

    ii

    i

    i

    i

    iii yxxCxBxAyCBxAxB

    CBASB

    ( ) ( ) ====

    =++=++

    = 5

    0

    5

    0

    5

    0

    25

    0

    22600,,

    i

    i

    i

    i

    i

    i

    i

    iii yCxBxAyCBxAxC

    CBASC

    =

    =

    =

    =+

    =+

    =+

    - 2 . 5

    - 2 . 3

    - 0 . 5

    8 . 5 8-61 0 . 33 0 . 4 9

    1 3 . 2 6 63.1 03 0 . 4 91 0 3 . 3 0 9

    - 4 6 . 4 6 9 43 0 . 4 91 0 3 . 3 0 93 7 3 . 4 1 0 1

    C

    B

    A

    CBA

    CBA

    CBA

    ( ) 2.5972-3232255510 2 x.x.xp = .

    Sada emo isti primjer rijeiti koritenjem MATLAB-a. Koeficijente polinoma ( )xp rauna naredbapolyfit(x,y,m), gdje su vrijednosti koordinata n toaka pohranjene u jednoredne matrice x i y, a nm jestupanj traenog polinoma. (U sluaju da stavimo nm = , dobili bismo Lagrangeov interpolacioni polinom zate toke.) Polinome dobivamo u vidu jednorednih matrica koeficijenata po potencijama. Imamo, dakle:

    24

  • 8/9/2019 PINM - Laboratorijske vjebe - 2008

    25/36

    x=[ -4.1 -2.9 -2.1 -0.9 -0.2 -0.1] Upiemo x-eve.y=[-2.39 -0.52 -0.27 -0.75 -2.52 -2.13]; Upiemo y-e.

    p=polyfit(x,y,m) Stavljamo razliite m (m=0,1,2,...,n).

    Primjer 2. Neka su vrijednostiapscisa i ordinata x i y desettoaka zadane tablicom. Aproksimirajmo ove toke polinomima stupnjeva m=0,1,2,...,9 u smislu metodenajmanjih kvadrata.

    xi 1.00 2.00 3.50 4.00 4.80 6.20 8.00 8.90 9.20 9.80yi 1.55 -2.18 0.37 1.15 -11.38 -0.08 -6.79 -0.57 -0.22 -0.39

    Rjeenje: Aproksimirajmo

    x=[1 2 3.5 4 4.8 6.2 8 8.9 9.2 9.8] Upiemo x-eve.y=[1.55 -2.18 0.37 1.15 -11.38 -0.08 -6.79 -0.57 -0.22 -0.39] Upiemo y-e.

    p=polyfit(x,y,m) Probajmo m=0,1,2,...,9.

    Skiciramo li dobivene polinome naredbama: x1=1:0.05:10;

    plot(x,y,'*',x1,polyval(p,x1))

    25

    Nacrtamo li ova tri polinoma naintervalu [-4.2,0],dobijemo:

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

    -2.5

    -2

    -1.5

    -1

    -0.5

    0

    1 2 3 4 5 6 7 8 9 10-12

    -10

    -8

    -6

    -4

    -2

    0

    2

    1 2 3 4 5 6 7 8 9 10-12

    -10

    -8

    -6

    -4

    -2

    0

    2

  • 8/9/2019 PINM - Laboratorijske vjebe - 2008

    26/36

    m=0 m=1

    m=2 m=9(Lagrangeov interpolacioni polinom)

    PRIMIJENJENA I NUMERIKA MATEMATIKALABORATORIJSKE VJEBE VIII

    Numerika u MATLAB-u (nastavak)

    4. Numerika integracija

    Problem: Za zadanu funkciju f(x) i granice a, b (a

  • 8/9/2019 PINM - Laboratorijske vjebe - 2008

    27/36

    (jednostavna) Simpsonova [ ] [ ] 166.6667491004513

    14

    3210

    ==++ yyyh

    I

    c) 10=n ,( )

    2.010

    11 ===n

    abh ,

    trapezna formula daje:

    ( )[ ]921100 ...22

    yyyyyh

    I +++++

    = -156.7463,

    a Simpsonova:

    ( ) ( )[ ]842931100 ...2...43

    yyyyyyyyh

    I +++++++++

    = -157.0795.

    Problem emo sada rjeavati uz pomo MATLAB-a. Trapezna iSimpsonova formula, postoje u vidu nestandardnih funkcijskihm-fileova trapez.m i simpson.m u folderu

    C:\matlabR12\work. Pozivaju se s:

    trapez(ime funkcije,a,b,n) i simpson(ime funkcije,a,b,n),

    gdje je ime podintegralne funkcije f (kao m-filea, standardnog ili ne) opet u navodnicima, a,b donja i gornjagranica integracije, a n broj podintervala na koje dijelimo osnovni interval [a,b] (kod Simpsonove formule nmora biti paran!).

    U Primjeru 1. tako prvo moramo funkciju ( )1

    1002

    3

    +=x

    xxf zapisati i pohraniti u folder

    C:\matlabR12\work kao funkcijski m-file f.m. Sintaksa je, sjetimo se:

    function y=f(x)y=x.^3-100./(x.^2+1);

    Pozivanjem m-fileova trapez.m i simpson.m za 10,2,1=n lako se moemo uvjeriti da je prethodni raunispravan. Ako elimo provjeriti koliki n treba uzeti da bi se znamenke aproksimacije rjeenja stabilizirale,uzimamo i vee n .

    Naredba trapez('f',-1,1,1000000) daje ans =-1.570796251229354e+002

    Simpson simpson('f',-1,1,520) je puno bolji ans =-1.570796326794897e+002

    (*) Za numeriko integriranje, MATLAB standardno koristi dvije naredbe: quad i quad8. Sintaksa je:

    quad(ime funkcije,a,b) i quad8(ime funkcije,a,b)

    27

    iix iy

    0 -1.0 -51.00001 -0.8 -61.48762 -0.6 -73.74543 -0.4 -86.27094 -0.2 -96.16185 0.0 -100.00006 0.2 -96.14587 0.4 -86.14298 0.6 -73.31349 0.8 -60.4636

    10 1.0 -49.0000

  • 8/9/2019 PINM - Laboratorijske vjebe - 2008

    28/36

    Navodnici u pozivu naredbi su obavezni. Funkcija koja se integrira mora postojati u memoriji kao m-fileistog imena. Po volji se moe dodati i etvrti argument, koji predstavlja tolerancu (inae je toleranca 310 ).

    Koritenjem quad('f',-1,1,eps) dobijamo Recursion level limit reached inquad.Singularity likely.

    Recursion level limit reached inquad. Singularity likely.

    ans =-1.570796326794897e+002

    Dok quad8('f',-1,1,eps) odmah daje ans =-1.570796326794897e+002

    U novijim verzijama MATLAB a, quad8 je zamijenila naredba quadl, s istim parametrima.

    PRIMIJENJENA I NUMERIKA MATEMATIKALABORATORIJSKE VJEBE IX

    Deskriptivna statistika manipulacija statistikim podacima

    1. Diskretna statistika obiljeja

    Pretpostavimo da je zadan niz statistikih podataka Nxxx ,...,, 21 , neka su raaa ,...,, 21 meusobno razliite vrijednosti tog statistikog niza u uzlaznom poretku i neka sufrekvencije tih vrijednosti redom rfff ,...,, 21 . Ovako organizirani podaci lako se

    prikazuju tabelarno i grafiki.

    Ako su zadane razliite vrijednosti raaa ,...,, 21 statistikog niza s pripadnim

    frekvencijamarfff ,...,, 21 , onda je ==

    r

    kkfN 1 ukupan broj podataka u nizu, a

    aritmetika sredina tog niza je =

    ==r

    k

    kk faN

    Xsv1

    1. Nadalje, disperzija statistikog niza je

    2

    1

    22 )(1

    svfaN

    dr

    k

    kk == =

    , a njegova standardna devijacija dsd == . Ovo su osnovne

    numerike karakteristike (parametri) statistikog niza.

    Primjer 1. Brojanje poziva na nekoj telefonskoj centrali vreno je automatski u jednakim vremenskim

    intervalima od jedne minute. Centrala u jednoj minuti moe primiti najvie est poziva. Statistiki niz sastojise od broja poziva koji su pristigli u minutama jednog sata: 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. Sredimo

    podatke i izraunajmo numerike karakteristike ovog statistikog niza.

    28

  • 8/9/2019 PINM - Laboratorijske vjebe - 2008

    29/36

    Rjeenje: Prebrojimo li koliko se puta pojavljuju vrijednosti 0, 1, 2, 3, 4, 5 i 6, dolazimo do njihovihfrekvencija i formiramo slijedeu tablicu:

    ka kf kk fa kk fa

    2

    0 6 0 01 4 4 4

    2 6 12 243 17 51 1534 13 52 2085 8 40 2006 6 36 216

    N= 60 195 805

    Sad su: 25.319560

    11

    1

    ==== =

    r

    k

    kk faN

    Xsv ,

    2.854225.3805601)(1 22

    1

    22 ==== = svfaNdr

    k

    kk , 1.6894=== dsd .

    Iskoristimo sada MATLAB u sreivanju i preglednom prikazu ovog statistikog niza.

    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]

    Podatke unesemo (uoi: tri ili vie tokicaznae nastavak naredbe u slijedeem redu),

    sort(x) pa ih sortiramo po veliini

    i dobijemo:ans =Columns 1 through 12

    0 0 0 0 0 0 1 1 1 1 2 2Columns 13 through 24

    2 2 2 2 3 3 3 3 3 3 3 3Columns 25 through 36

    3 3 3 3 3 3 3 3 3 4 4 4Columns 37 through 48

    4 4 4 4 4 4 4 4 4 4 5 5Columns 49 through 60

    5 5 5 5 5 5 6 6 6 6 6 6

    Ovu rutinu sreivanja bitno emo pojednostaviti ako sjednemo i napiemo programi poput ovoga:

    function [a,f]=af(x) Ova funkcija kreira jednoredne matrice a i f x=sort(x); j=1; broj=1; meusobno razliitih vrijednosti raaa ,...,, 21 for k=2:size(x,2) statistikog niza Nxxx ,...,, 21 poredanih po

    veliiniif x(k)==x(k-1), broj=broj+1; i pripadnih frekvencija rfff ,...,, 21 .else f(j)=broj; a(j)=x(k-1); broj=1; j=j+1; end

    a(j)=x(k); f(j)=broj; Funkcija af pohranjena je kao m-file af.m u

    end folder C:\matlabR12\work.

    [a,f]= af(x) odmah daje tablicu a = 0 1 2 3 4 5 6f = 6 4 6 17 13 8 6

    29

  • 8/9/2019 PINM - Laboratorijske vjebe - 2008

    30/36

    Numerike karakteristike niza sada raunamo koritenjem MATLAB-a:

    N=sum(f) U Primjeru 1 tako bi dobili: N = 60sv=a*f /N sv = 3.2500d=(a.^2)*f /N-sv^2 d = 2.8542

    sd=sqrt(d) sd = 1.6894

    Ova se krivulja naziva poligonomfrekvencija.

    2. Kontinuirana statistikaobiljeja

    Neka je zadan niz statistikih podataka Nxxx ,...,, 21 kontinuiranog statistikog obiljeja.Podatke grupiramo u razrede [ [ [ ]rr aaaaaa ,,,,,, 12110 i neka su ti razredi

    ekvidistantni, irina c. Oznaimo s rsss ,...,, 21 sredine razreda. Ako frekvencije razredaoznaimo redom sa rfff ,...,, 21 ponovno smo u mogunosti podatke pregledno

    prikazati.

    Znamo da je =

    =r

    k

    kfN1

    ukupan broj podataka u nizu. Za aritmetiku sredinu tog niza

    sada uzimamo =

    ==r

    k

    kk fsN

    Xsv1

    1. Nadalje, disperziju tog statistikog niza raunamo kao

    2

    1

    22 )(1

    svfs

    N

    dr

    k

    kk ==

    = , a njegovu standardnu devijaciju kao dsd == .

    Primjer 1. Mjerenjem teina [kg] trideset purana u nekom peradarniku, dobiveni su ovi 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. Organizirajmo ove podatke u r=5 razreda, azatim izraunajmo numerike karakteristike ovog statistikog niza.

    Rjeenje: Uoavamo da je najmanja vrijednost u nizu 4.90, a najvea 8.65. Kako imamo pet razreda, njihova

    je irina 75.0

    5

    90.465.8=

    =c . Formiramo tablicu:

    30

    0 1 2 3 4 5 64

    6

    8

    10

    12

    14

    16

    18

    Skicirajmo sada frekvencije f uovisnosti o vrijednostima a:

    plot(a,f)

  • 8/9/2019 PINM - Laboratorijske vjebe - 2008

    31/36

    RAZREDI

    kkaa

    1

    SREDINE

    RAZREDA ksFREKVENCIJE

    kf kk fs kk fs

    2

    4.90 5.65 5.2750 5 26.3750 139.12815.65 6.40 6.0250 7 42.1750 254.10446.40 7.15 6.7750 7 47.4250 321.30447.15 7.90 7.5250 6 45.1500 339.7538

    7.90 8.65 8.2750 5 41.3750 342.3781 N= 30 202.5000 1396.6688

    Raunamo: 6.7500202.500030

    11

    1

    ==== =

    r

    k

    kk fsN

    Xsv ,

    0.99316.75001396.668830

    1)(

    1 22

    1

    22 ==== =

    svfsN

    dr

    k

    kk , 0.9966=== dsd .

    Prouavanje statistikog niza lake je ako koristimo MATLAB.

    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]

    Unesemopodatke.

    Podatke opet moemo sortirati pjeice, a moemo se posluiti i slijedeim funkcijskim m-fileom:

    function [s,f,c]=sfc(x,r) Ova funkcija dijeli podatke iz statistikog nizax=sort(x); Nxxx ,...,, 21 u r razreda, rauna irinu c tihnajmanji=x(1); najveci=x(size(x,2)); razreda i potom kreira jednoredne matricec=(najveci-najmanji)/r; aritmetikih sredina rsss ,...,, 21 razreda idg=najmanji:c:najveci-c; gg=dg+c; pripadnih frekvencija rfff ,...,, 21 .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, endwhile x(k)>=gg(j) Funkcija sfc pohranjena je kao m-file sfc.m u

    if j

  • 8/9/2019 PINM - Laboratorijske vjebe - 2008

    32/36

    sd=sqrt(d) sd = 0.9966

    PRIMIJENJENA I NUMERIKAMATEMATIKA

    LABORATORIJSKE VJEBE X

    Prilagoavanje teoretske statistike razdiobe empirikim podacima

    32

    Skicirajmo jo frekvencije f uovisnosti o vrijednostima s

    plot(s,f)

    (tj. poligon frekvencija):

    est je prikaz podataka i pomoutzv. histograma frekvencija:

    bar(s,f)

    5 5.5 6 6.5 7 7.5 8 8.55

    5.2

    5.4

    5.6

    5.8

    6

    6.2

    6.4

    6.6

    6.8

    7

    4 5 6 7 8 90

    1

    2

    3

    4

    5

    6

    7

  • 8/9/2019 PINM - Laboratorijske vjebe - 2008

    33/36

    Problem: Zadan je skup vrijednosti statistikog niza i pripadne frekvencije. Uzpretpostavku da su ti podaci distribuirani prema nekoj od poznatih razdioba, odreditikoja razdioba najbolje opisuje njihovo ponaanje.

    a) Binomna razdioba

    Za binomnu razdiobu s parametrima n N i [ ]1,0p karakteristino je da suvrijednosti ka -ova 0,1,2,,n. Ako je X sluajna varijabla distribuirana po binomnoj

    razdiobi, onda je { } ( )knk pp

    k

    nkXP

    == 1 vjerojatnost da ona poprimi upravo

    vrijednost k (k=0,1,2,,n), njeno je oekivanje EX=np, a varijanca VarX=np(1-p).

    Primjer 1. arulje se proizvode na pokretnoj traci. U pravilnim vremenskim razmacima vri se kontrolaproizvodnje, i to tako da se nasumce odabere osam arulja i potom testira koliko ih je neispravnih. Rezultativelikog broja testiranja dani su u donjoj tablici. Naite odgovarajue teoretske frekvencije uz pretpostavku da

    je broj neispravnih arulja distribuiran po binomnoj razdiobi.

    BROJ DEFEKTNIH

    PROIZVODAkak =

    PRIPADNE

    FREKVENCIJE

    kf

    0 951 2382 3223 2884 1215 816 327 168 4

    Prema tome, kreiramo jednorednu matricu a-ova a=0:8zatim jednorednu matricu frekvencija f f=[95 238 322 288 121 81 32 16 4]

    Zadajemo broj n n=8 i n = 8Raunamo ukupni broj podataka N, N=sum(f) dobijemo N = 1197

    potom aritmetiku sredinu sv, sv=a*f '/ N rezultate: sv = 2.4820i parametarp p=sv/n p = 0.3103

    Da odredimo vjerojatnosti { } ( )knk

    ppk

    nkXP

    == 1 , koristimo tablice ili funkcijski m-file binomna.m,

    kojeg smo za potrebe ovih vjebi kreirali i pohranili u folder C:\matlabR12\work.

    Jo nam ostaje nai teoretske frekvencije ft: ft=round(N*binomna(n,p,a))round je decimalne brojeve zaokruio na cijele

    33

    Zadatak rjeavamo ovako (v. Predavanja):

    - odmah vidimo da je n=8, a ukupni broj podataka

    =

    =n

    k

    kfN0

    =1197;

    - izraunamo aritmetiku sredinu =

    =n

    k

    kk faN

    sv0

    1,

    pa je interpretiramo kao oekivanje teoretskebinomne razdiobe s parametrima n i p;

    - dakle je p=sv/n, pa raunamo { }kXPNftk == ,

    gdje je { } ( )knk

    ppk

    nkXP

    == 1 .

  • 8/9/2019 PINM - Laboratorijske vjebe - 2008

    34/36

    Konano dobijemo ft =61 221 347 313 176 63 14 2 0

    b) Poissonova razdioba

    Kod Poissonove razdiobe, vrijednosti ka su svi prirodni brojevi i nula. Ako je Xsluajna varijabla distribuirana po Poissonovoj razdiobi s parametrom >0, onda je

    { } == ek

    kXPk

    !vjerojatnost da ona poprimi upravo vrijednost 0Nk , oekivanje joj

    je EX=, a varijanca VarX= .

    Rezultati brojanja dani su u donjoj tablici.

    Primjer 2. Provedeno je brojanje stranaka koje u toku jednog sata obave posao na jednom alteru Splitskebanke. Frekvencija kf oznaava broj onih sati u kojima slubenica podmiri tono ka stranaka.Rezultati brojanja dani su u donjoj tablici. Uz pretpostavku da se gornji podaci ravnaju po Poissonovojrazdiobi, za svaku vrijednost ka izraunajte odgovarajuu teoretsku frekvenciju kft .

    BROJ

    STRANAKAkak =

    PRIPADNE

    FREKVENCIJE

    kf

    0 36

    1 1012 1503 2214 3125 2366 1517 888 329 14

    10 6

    11 312 113 1

    Prema tome, kreiramo jednorednu matricu a-ova a=0:13zatim jednorednu matricu frekvencija f f=[36 101 150 221 312 236 151 88 32 14 6 3 1 1]

    Raunamo dakle ukupni broj podataka N, N=sum(f) imamo N = 1352

    potom aritmetiku sredinu sv (tj. ) sv=a*f '/N sv = 4.0784

    Jo nam ostaju teoretske frekvencije ft: ft=round(N*poisson(sv,a))round je decimalne brojeve zaokruio na cijele

    34

    Zadatak rjeavamo ovako (v. Predavanja):

    - izraunamo ukupni broj podataka =

    =13

    0k

    kfN ;

    - izraunamo aritmetiku sredinu =

    =13

    0

    1

    kkk fa

    Nsv ,

    pa je interpretiramo kao oekivanje teoretskePoissonove razdiobe s parametrom ;

    - dakle je parametar =sv, pa potom raunamo

    { }kXPNftk == , gdje je { } == ek

    kXPk

    !.

    Da izraunamo vjerojatnosti { }kXP = sluimo setablicama ili funkcijskimm-fileom poisson.mkreiranim posebno za ove vjebe i pohranjenim ufolder C:\work.

  • 8/9/2019 PINM - Laboratorijske vjebe - 2008

    35/36

    Konano dobijemo ft =23 93 190 259 264 215 146 85 43 20 8 3 1 0

    Koliko je ova aproksimacija dobra moemo provjeriti

    crtanjem grafikona empirikih i teoretskih frekvencijau ovisnosti o a-ovima. Koristimo naredbu plot(a,f,a,ft,--)(Teorijske frekvencije oznaimo izlomljenom crtom.)

    c) Normalna razdioba

    Za razliku od binomne i Poissonove razdiobe koje su diskretne, kod normalne razdiobe podaci mogu teoretski poprimiti bilo koju realnu vrijednost. Ako je X sluajnavarijabla distribuirana po normalnoj razdiobi s parametrima i 2 , onda je njenooekivanje EX= , a varijanca (disperzija) VarX= 2 .Primjer 3. Mjerenjem postotnog udjela sumpora u eljeznoj rudi ustanovljeno je da oneienost variraizmeu 4.30 i 9.80 posto i podaci su grupirani u 11 razreda prema tablici. Normalnu razdiobu prilagoditetim empirikim podacima.

    RAZREDI

    kkaa

    1

    FREKVENCIJE

    kf

    4.30 4.80 24.80 5.30 85.30 5.80 195.80 6.30 51

    35

    Zadatak rjeavamo ovako (v. Predavanja):

    - odredimo prvo irinu c i sredine razreda ks ;

    - izraunamo ukupni broj podataka =

    =11

    1k

    kfN ;

    - izraunamo aritmetiku sredinu =

    =11

    1

    1

    kkk fs

    Nsv ,

    disperziju 211

    1

    2)(

    1svfs

    Nd

    kkk =

    =i standardnu

    devijaciju dsd = .

    0 2 4 6 8 10 12 140

    50

    100

    150

    200

    250

    300

    350

  • 8/9/2019 PINM - Laboratorijske vjebe - 2008

    36/36

    6.30 6.80 866.80 7.30 917.30 7.80 757.80 8.30 538.30 8.80 428.80 9.30 18

    9.30 9.80 4

    Ako elimo raditi u MATLAB-u, kreiramo c, c=0.5zatim dvije jednoredne matrice, dg i gg u koje dg=[4.30:c:9.30]

    pohranimo donje i gornje granice razreda, gg=[4.80:c:9.80]zatim jednorednu matricu frekvencija f f=[2 8 19 51 86 91 75 53 42 18 4]i na kraju matricu sredina razreda s s=(dg+gg)/2

    Raunamo dakle ukupni broj podataka N, N=sum(f) i N = 449

    potom aritmetiku sredinu sv, sv=s*f /N dobijemo sv = 7.1747disperziju d d=(s.^2)*f /N-sv^2 rezultate: d = 0.9265i standardnu devijaciju sd sd=sqrt(d) sd = 0.9626

    Aritmetiku sredinu sv sada interpretiramo kao oekivanje teoretske sluajne varijable X , a sd kaonjenu standardnu devijaciju . Onda teoretske frekvencije moemo izraunati kao

    { }

    ==

    11

    kkkkk

    aaNaXaPNft , gdje je ( ) dtex

    x t

    = 2

    2

    2

    1

    funkcija

    distribucije vjerojatnosti jedinine normalne razdiobe. Vrijednosti funkcije ( )x moemo pronai utablicama, ili izraunati pozivanjem funkcijskogm-filea fi.mkreiranog posebno za ove vjebe i pohranjenogu folder C:\matlabR12\work. U kreiranju tog m-filea posluili smo se Matlabovom ugraenom funkcijom erf,

    ( ) dtexerfx

    t =0

    22

    (Matlab integral rauna priblino, numerikom integracijom). Oito je

    ( )

    +

    =+

    ==

    1

    22

    1

    2

    1

    22

    1

    2

    12

    2

    xerf

    xerfdtex

    x t

    . Vrijednosti funkcije ( )x1 inverzne funkciji

    ( )x raunat emo koristei m-file fiinv.mkoji se takoer nalazi u folderu C:\matlabR12\work.Tako kreiramo jednorednu matricuteoretskih frekvencija ft naredbom: ft=round(N*(fi((gg-sv)/sd)-fi((dg-sv)/sd)))

    Konano dobijemo: ft =2 8 23 47 75 91 85 61 34 14 5

    36