Razvoj algoritama u matlabu - PowerPoint PPT Presentation

About This Presentation
Title:

Razvoj algoritama u matlabu

Description:

Title: Uvod u Matlab Author: Administrator Last modified by: Laris Created Date: 3/18/2004 2:28:11 PM Document presentation format: On-screen Show Company – PowerPoint PPT presentation

Number of Views:99
Avg rating:3.0/5.0
Slides: 35
Provided by: fes93
Category:

less

Transcript and Presenter's Notes

Title: Razvoj algoritama u matlabu


1
Razvoj algoritama u matlabu
2
Programi
  • Program - Opis algoritma koji u nekom
    programskom jeziku jednoznacno odreduje što
    racunalo treba napraviti.
  • PROGRAM Algoritmi podaci
  • Programiranje - nauciti sintaksu nekog
    proceduralnog jezika i steci osnovna intuitivna
    znanja glede algoritmizacije problema opisanog
    rijecima.

3
Podaci u matlabu
  • Kompleksni brojevi
  • kmpl12-3i
  • kmpl2 2exp3j
  • Brojevi
  • 35
  • 3.141
  • Matrice
  • Tekstualni podaci
  • moje ime

4
  • Matlab koristi aritmetiku sa pomicnim zarezom
    (engl. floating point, kratko FP)
  • Uz FP aritmetiku vezano je nekoliko internih
    varijabli
  • realmin 2.2251e-308 je najmanji broj u
    FP-sustavu brojeva.
  • realmax 1.7977e308 je najveci broj u
    FP-sustavu brojeva.
  • eps 2.2204e-16 je relativna udaljenost izmedu
    dva susjedna FP-broja 
  • inf znaci beskonacno, a nastaje ako egzaktni
    rezultat premašuje realmax. Slicno vrijedi za
    -inf. 
  • NaN znaci Not a Number, tj. neodredenu numericku
    vrijednost. Nastaje iz neodredenih izraza tipa
    0/0, beskonacno - beskonacno i sl. 

5
Algoritam
  • Precizno opisan nacin rješenja nekog problema
  • Jednoznacno odreduje što treba napraviti
  • Moraju biti definirani pocetni uvjeti
  • Konacni broj koraka svaki korak opisan
    instrukcijom
  • Mora biti
  • Djelotvoran daje tocno rješenje problema
  • Ucinkovit dolazi do rješenja na dovoljno
    jednostavan nacin

6
Petlje i uvjetne strukture
  • Uvjetne strukture jak je alat, buduci da
    omogucava da prijašnje operacije algoritma utjecu
    na buduce.
  • MATLAB pruža cetiri oblika petlji, odnosno
    uvjetnih struktura
  • for petlje,
  • while petlje,
  • if-else-end struktura i
  • switch-case struktura.

7
for petlje
  • for petlje omogucavaju da se grupa naredbi
    ponavlja unaprijed odredeni broj puta. Opci oblik
    for petlje je
  • for x array
  • naredbe...
  • end
  • naredbe izmedu for i end izvršavaju se jednom za
    svaki stupac u array.
  • Na primjer
  • gtgt for n110
  • x(n)sin(npi/10)
  • end

8
for petlje
  • Osim automatski generiranog polja 110 može se
    primjeniti bilo koje polje, npr.
  • gtgt data3 9 45 6 7 16 -1 5
  • gtgt for ndata
  • yn(1)-n(2)
  • end
  • y -4
  • y -7
  • y 46
  • y 1

9
for petlje
  • Pored ovih mogucnosti, for petlja može biti
    ugnjezdena jedna u drugoj.
  • t1
  • for i13
  • for j 13
  • a(i,j)t
  • tt1
  • end
  • end

1 2 3
4 5 6
7 8 9
10
while petlja
  • Kod while petlje naredbe izmedu while i end
    izvršavaju se sve dok su svi elementi izraz-a
    istiniti
  • gtgt while izraz
  • naredbe...
  • end
  • Razmotrimo sljedeci primjer
  • gtgt num0
  • EPS1
  • gtgt while (1EPS)gt1
  • EPSEPS/2
  • numnum1
  • end

11
while petlja
  • X500
  • while xgt3
  • xx/10
  • end
  • x
  • x
  • 0.5000

12
if-else-end struktura
  • if-else-end struktura nam omogucava da
    izvršavamo neke operacije pod uvjetom da su
    zadovoljeni odredeni uvjeti.
  • Forma ove strukture u opcem slucaju je
  • if izraz1
  • naredbe1 ... izvršene ako je izraz1 istinit
  • elseif izraz2
  • naredbe2 ... izvršene ako je izraz2 istinit
  • elseif izraz3
  • naredbe3 ... izvršene ako je izraz3 istinit
  • else
  • naredbe ... izvršene ako nijedan izraz nije
    istinit
  • end

13
if-else-end struktura
  • Jednostavna if strukture
  • if uvjet
  • naredba
  • end
  • Primjer
  • if a5
  • disp('pogodio si broj')
  • end

14
if-else-end struktura
  • If struktura sa grananjem na 2 grane
  • if uvjet
  • Naredbe 1
  • else
  • Naredbe 2
  • End
  • Primjer
  • if a5
  • disp('pogodio si broj')
  • else
  • disp('nisi pogodio broj')
  • end

15
if-else-end struktura
  • Promotrimo primjer
  • gtgt EPS1
  • gtgt for num11000
  • EPSEPS/2
  • if(1EPS)lt1
  • EPSEPS2
  • break
  • end
  • end

16
switch-case struktura
  • Ova je struktura pogodna u slucaju kada je
    potrebno više puta ispitivati istinitost izraza a
    na osnovu jednog argumenta.
  • Forma ove strukture je
  • switch izraz
  • case test_izraz1
  • naredbe1...
  • case test_izraz2
  • naredbe2...
  • otherwise
  • naredbe3
  • end

17
switch-case struktura
  • primjer za 'switch-end' strukturu
  • x2.7 velicinu u cm
  • units'm' zelim pretvoriti u 'units'
  • switch units
  • case 'inch','in'
  • yx2.54
  • case 'feet','ft'
  • yx2.5412
  • case 'meter','m'
  • yx/100
  • case 'milimeter','mm'
  • yx10
  • case 'centimeter','cm'
  • yx
  • otherwise
  • disp('Nepoznata jedinica', units)
  • ynan
  • end

18
Eulerov algoritam
  • Najveci zajednicki djelitelj x i y
  • while( y nije 0) (ostatak ono sto ostane pri
    cjelobrojnom dijelenju x i y xyyostatak)Rezu
    ltat x

19
sortiranje
4 1 2 3
For i13 for ji14 if a(i)gta(j) tempa(i)
a(i)a(j) a(j)temp End End End
20
4
1
2
3
21
1
4
2
3
22
1
4
2
3
23
1
4
2
3
24
1
4
2
3
25
1
4
2
3
26
1
4
2
3
27
1
2
4
3
28
1
2
4
3
29
1
2
4
3
30
1
2
4
3
31
1
2
4
3
32
1
2
3
4
33
1
2
3
4
Polje je sortirano!!!

34
(No Transcript)
Write a Comment
User Comments (0)
About PowerShow.com