1 / 34

Razvoj algoritama u matlabu

Razvoj algoritama u matlabu. Programi. Program - Opis algoritma koji u nekom programskom jeziku jednoznačno određuje što računalo treba napraviti. PROGRAM = Algoritmi + podaci

hayden
Télécharger la présentation

Razvoj algoritama u matlabu

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Razvoj algoritama u matlabu

  2. Programi • Program - Opis algoritma koji u nekom programskom jeziku jednoznačno određuje što računalo treba napraviti. • PROGRAM= Algoritmi + podaci • Programiranje - naučiti sintaksu nekog proceduralnog jezika i steći osnovna intuitivna znanja glede algoritmizacije problema opisanog riječima.

  3. Podaci u matlabu • Kompleksni brojevi • kmpl1=2-3i • kmpl2= 2*exp3j • Brojevi • 35 • 3.141 • Matrice • Tekstualni podaci • ‘moje ime’

  4. Matlab koristi aritmetiku sa pomičnim 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.7977e+308 je najveći broj u FP-sustavu brojeva. • eps = 2.2204e-16 je relativna udaljenost između dva susjedna FP-broja  • inf znači +beskonačno, a nastaje ako egzaktni rezultat premašuje realmax. Slično vrijedi za -inf.  • NaN znači Not a Number, tj. neodređenu numeričku vrijednost. Nastaje iz neodređenih izraza tipa 0/0, beskonačno - beskonačno i sl. 

  5. Algoritam • Precizno opisan način rješenja nekog problema • Jednoznačno određuje što treba napraviti • Moraju biti definirani početni uvjeti • Konačni broj koraka; svaki korak opisan instrukcijom • Mora biti • Djelotvoran – daje točno rješenje problema • Učinkovit – dolazi do rješenja na dovoljno jednostavan način

  6. Petlje i uvjetne strukture • Uvjetne strukture jak je alat, budući da omogućava da prijašnje operacije algoritma utječu na buduće. • MATLAB pruža četiri oblika petlji, odnosno uvjetnih struktura: • for petlje, • while petlje, • if-else-end struktura i • switch-case struktura.

  7. for petlje • for petlje omogućavaju da se grupa naredbi ponavlja unaprijed određeni broj puta. Opći oblik for petlje je for x = array naredbe... end • naredbe između for i end izvršavaju se jednom za svaki stupac u array. • Na primjer >> for n=1:10 x(n)=sin(n*pi/10); end

  8. for petlje • Osim automatski generiranog polja 1:10 može se primjeniti bilo koje polje, npr. >> data=[3 9 45 6; 7 16 -1 5]; >> for n=data y=n(1)-n(2) end y = -4 y = -7 y = 46 y = 1

  9. for petlje • Pored ovih mogučnosti, for petlja može biti ugnjezđena jedna u drugoj. t=1 for i=1:3 for j= 1:3 a(i,j)=t; t=t+1; end end

  10. while petlja • Kod while petlje naredbe između while i end izvršavaju se sve dok su svi elementi izraz-a istiniti: >> while izraz naredbe... end • Razmotrimo sljedeći primjer >> num=0; EPS=1; >> while (1+EPS)>1 EPS=EPS/2; num=num+1; end

  11. while petlja X=500; while x>3 x=x/10; end » x x = 0.5000

  12. if-else-end struktura • if-else-end strukturanam omogućava da izvršavamo neke operacije pod uvjetom da su zadovoljeni određeni uvjeti. • Forma ove strukture u općem slučaju 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 a==5 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 a==5 disp('pogodio si broj') else disp('nisi pogodio broj') end

  15. if-else-end struktura • Promotrimo primjer : >> EPS=1; >> for num=1:1000 EPS=EPS/2; if(1+EPS)<=1 EPS=EPS*2 break end end

  16. switch-case struktura • Ova je struktura pogodna u slučaju 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 x=2.7; % velicinu u cm units='m' % zelim pretvoriti u 'units' switch units case {'inch','in'} y=x*2.54; case {'feet','ft'} y=x*2.54*12; case {'meter','m'} y=x/100; case {'milimeter','mm'} y=x*10; case {'centimeter','cm'} y=x; otherwise disp(['Nepoznata jedinica:', units]) y=nan; end

  18. Eulerov algoritam: • Najveći zajednički djelitelj x i y • while( y nije 0) (ostatak = ono sto ostane pri cjelobrojnom dijelenju x i y x=yy=ostatak)Rezultat =x

  19. sortiranje For i=1:3 for j=i+1:4 if a(i)>a(j) temp=a(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!!! *

More Related